2 repository-uri
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 este un framework de apeluri de proceduri la distanță (RPC) și un protocol de serializare a datelor cross-language. Acesta oferă un limbaj de definire a interfeței (IDL) pentru a specifica tipurile de date și interfețele de servicii într-un format neutru, permițând generarea automată a codului de client și server în mai multe limbaje de programare. Proiectul funcționează ca un comunicator de servicii poliglot, utilizând un stack software stratificat pentru a asigura o comunicare interoperabilă. Se concentrează pe implementarea apelurilor de proceduri la distanță cross-language și transformarea structurilor de date complexe în formate standardizate pentru un transport eficient în rețea. Framework-ul include capabilități pentru gestionarea compatibilității versiunilor API pentru a suporta actualizări non-atomice între clienți și servere. De asemenea, oferă mecanisme pentru verificarea integrității datelor și validarea faptului că serviciile se comportă identic în diferite implementări de limbaje.
Compiles neutral interface definition files into language-specific source code to automate serialization logic.
Fury este un framework de serializare binară multi-limbaj conceput pentru encodarea obiectelor de domeniu și a grafurilor complexe, pentru a facilita schimbul de date între limbaje. Include un compilator de limbaj de definire a interfețelor (IDL) care traduce definițiile de schemă în tipuri native idiomatice și boilerplate de serializare în mai multe limbaje. Proiectul se distinge printr-un cititor binar zero-copy care permite accesarea unor câmpuri specifice fără a deserializa întregul obiect, precum și un serializator de grafuri de obiecte care păstrează referințele circulare și integritatea referențială. De asemenea, dispune de un convertor de date care transformă datele binare bazate pe rânduri în formate coloanare Apache Arrow pentru sarcini analitice. Framework-ul acoperă domenii largi de capabilități, inclusiv evoluția schemei bazată pe metadate pentru compatibilitate înainte și înapoi, un proces de compilare AOT (Ahead-Of-Time) pentru a elimina reflexia la runtime și deserializarea securizată prin validarea tipurilor bazată pe whitelist. Oferă, de asemenea, integrare pentru apeluri de proceduri la distanță de înaltă performanță prin gRPC.
Translates interface definition language files into native source code for multiple target languages.