5 repository-uri
Tools that generate source code for a wide variety of target languages from a single specification.
Distinct from Code from Specification Generators: Distinct from Code from Specification Generators: focuses on the ability to target many different languages for data consistency.
Explore 5 awesome GitHub repositories matching software engineering & architecture · Multi-Language Code Generators. Refine with filters or upvote what's useful.
Protocol Buffers is a binary serialization framework used to encode structured information into compact payloads to reduce network bandwidth and storage. It functions as a cross-language data interchange standard that enables different platforms and languages to exchange structured data using a shared schema. The project includes an interface definition language compiler that transforms schema definitions into type-safe source code for multiple target programming languages. This mechanism decouples data structures from specific language memory layouts and ensures consistent data handling acro
Converts data definitions into source code for multiple programming languages to ensure consistent data handling.
Prototool este un toolkit de dezvoltare pentru Protocol Buffers care oferă o suită de instrumente pentru linting, formatare și generarea de cod din fișierele de schemă. Funcționează ca un sistem pentru gestionarea ciclului de viață al definițiilor Protocol Buffer printr-o interfață de linie de comandă. Toolkit-ul se distinge prin furnizarea unui detector de modificări care strică compatibilitatea (breaking change detector) care compară diferite versiuni ale definițiilor pentru a identifica modificări incompatibile la nivel de wire sau sursă. Include, de asemenea, o interfață de client gRPC capabilă să invoce endpoint-uri folosind cereri JSON prin compilarea dinamică a definițiilor Protobuf. Proiectul acoperă domenii largi de capabilități, inclusiv validarea schemei și impunerea stilului, generarea de stub-uri de cod specifice limbajului și gestionarea automată a binarului compilatorului. De asemenea, oferă utilitare pentru exportul setului de descriptori de fișiere și generarea fișierelor de schemă cu boilerplate automatizat.
Transforms schema definitions into source code for various languages using managed compiler versions.
JSONExport este un generator de cod multi-limbaj și un convertor de scheme JSON care transformă structurile de date JSON în clase de cod sursă puternic tipizate. Servește ca mapper de răspuns API, convertind obiectele JSON în obiecte de transfer de date (DTO) pentru a automatiza crearea claselor de model. Instrumentul se specializează în sinteza modelelor multi-limbaj, permițând utilizatorilor să definească modele de date în diferite limbaje de programare folosind un singur input JSON. Generează boilerplate de clasă, inclusiv constructori și accesorii, și oferă un pipeline de previzualizare pentru a revizui codul sursă rezultat înainte de a fi salvat. Proiectul acoperă implementarea modelului de date și generarea de boilerplate de cod sursă printr-o abordare bazată pe șabloane care mapează tipurile de date JSON la sintaxa specifică a limbajului.
Automates the creation of DTOs and class definitions across multiple target languages from a single JSON source.
Kaitai Struct este un framework pentru specificații binare declarative care oferă generarea automată de parser și serializator pe mai multe limbaje de programare. Utilizează un limbaj portabil, specific domeniului, pentru a descrie layout-ul fișierelor binare și al pachetelor de rețea, convertind aceste specificații în cod sursă pentru citirea și scrierea datelor binare. Sistemul permite procesarea datelor cross-language prin traducerea unei singure definiții structurale în cod sursă nativ pentru limbaje precum C++, C#, Go, Java, JavaScript, Python și Rust. Această abordare permite implementarea aceleiași specificații de date binare pe diferite platforme fără a rescrie manual logica de parsare. Framework-ul acoperă modelarea și procesarea datelor binare, inclusiv capacitatea de a gestiona pointeri de citire pentru navigarea offset-urilor și aplicarea transformărilor de date, cum ar fi decompresia și decriptarea. De asemenea, oferă instrumente pentru debugging-ul specificațiilor de format pentru a valida maparea între layout-urile de date binare și descrierile lor declarative.
Generates native source code for multiple target languages from a single structural binary specification.
Luban este un toolchain de configurare a jocurilor conceput pentru a converti datele bazate pe foi de calcul în formate binare optimizate și cod sursă type-safe pentru mai multe limbaje. Funcționează ca o suită cuprinzătoare pentru validarea configurației, pipeline-uri de serializare a datelor și generarea de cod pentru a asigura consistența datelor pe diferite platforme. Sistemul dispune de un generator de cod multi-limbaj care produce clase de date puternic tipizate din scheme, eliminând nevoia de reflexie. Include un manager de localizare pentru exportul textului tradus și al activelor cu patching specific localității, precum și un pipeline de serializare care transformă fișierele sursă structurate în binare pentru transfer eficient în rețea. Toolchain-ul oferă un motor de validare a configurației pentru a efectua verificări de integritate referențială și verificare a căilor resurselor. De asemenea, suportă modelarea complexă a datelor printr-un sistem de tipuri orientat pe obiecte care permite moștenirea datelor și structuri imbricate în fișierele de configurare.
Generates source code for a variety of target languages from a single configuration specification.