2 Repos
Compilers that translate interface definition language files into source code for specific target languages.
Distinct from Source Code Compilers: Distinct from general source code compilers: specifically translates a neutral IDL into language-specific implementation code.
Explore 2 awesome GitHub repositories matching programming languages & runtimes · IDL Compilers. Refine with filters or upvote what's useful.
Thrift ist ein sprachübergreifendes Remote-Procedure-Call-Framework (RPC) und Datenserialisierungsprotokoll. Es bietet eine Interface-Definition-Sprache (IDL), um Datentypen und Service-Interfaces in einem neutralen Format zu spezifizieren, was die automatisierte Generierung von Client- und Server-Code über mehrere Programmiersprachen hinweg ermöglicht. Das Projekt fungiert als polyglotter Service-Kommunikator, der einen geschichteten Software-Stack verwendet, um eine interoperable Kommunikation zu gewährleisten. Es konzentriert sich auf die Implementierung sprachübergreifender RPCs und die Transformation komplexer Datenstrukturen in standardisierte Formate für einen effizienten Netzwerktransport. Das Framework enthält Funktionen für das Management der API-Versionskompatibilität, um nicht-atomare Updates zwischen Clients und Servern zu unterstützen. Es bietet zudem Mechanismen zur Verifizierung der Datenintegrität und zur Validierung, dass sich Services über verschiedene Sprachimplementierungen hinweg identisch verhalten.
Compiles neutral interface definition files into language-specific source code to automate serialization logic.
Fury ist ein sprachübergreifendes Framework für binäre Serialisierung, das für die Kodierung von Domänenobjekten und komplexen Graphen entwickelt wurde, um den Datenaustausch zwischen verschiedenen Sprachen zu erleichtern. Es enthält einen Compiler für eine Interface Definition Language (IDL), der Schemadefinitionen in idiomatische native Typen und Serialisierungs-Boilerplate über mehrere Sprachen hinweg übersetzt. Das Projekt zeichnet sich durch einen Zero-Copy-Binär-Reader aus, der den Zugriff auf spezifische Felder ermöglicht, ohne das gesamte Objekt zu deserialisieren, sowie durch einen Objekt-Graph-Serializer, der zirkuläre Referenzen und referenzielle Integrität bewahrt. Es enthält zudem einen Datenkonverter, der zeilenbasierte Binärdaten für analytische Workloads in spaltenbasierte Apache-Arrow-Formate transformiert. Das Framework deckt breite Funktionsbereiche ab, einschließlich metadatengesteuerter Schema-Evolution für Vorwärts- und Rückwärtskompatibilität, einen AOT-Kompilierungsprozess zur Eliminierung von Laufzeit-Reflektion und sichere Deserialisierung durch Whitelist-basierte Typvalidierung. Es bietet zudem Integration für hochperformante Remote Procedure Calls via gRPC.
Translates interface definition language files into native source code for multiple target languages.