2 repository-uri
Generating parser source code for multiple target programming languages from a single grammar.
Distinct from Formal Grammar Parser Generators: Distinct from Formal Grammar Parser Generators: specifically targets the ability to produce code for multiple target languages.
Explore 2 awesome GitHub repositories matching software engineering & architecture · Multi-Target Code Generation. Refine with filters or upvote what's useful.
ANTLR este un generator de cod bazat pe gramatică și un generator de parser pentru mai multe limbaje, utilizat pentru a proiecta și implementa limbaje personalizate. Funcționează ca un set de instrumente pentru transformarea definițiilor formale de limbaj în cod sursă executabil pentru procesarea textului structurat sau a fișierelor binare, oferind în același timp un framework pentru construirea și parcurgerea automată a arborilor de parsare ierarhici. Proiectul se distinge prin capacitatea sa de a genera lexere și parsere în diverse limbaje de programare țintă dintr-o singură definiție de gramatică partajată. Suportă gramatici care conțin recursivitate la stânga directă și utilizează predicția adaptivă pentru a optimiza viteza de parsare, menținând în același timp flexibilitatea. Sistemul acoperă o gamă largă de capabilități, inclusiv analiza lexicală, verificarea semantică prin evaluarea predicatelor și gestionarea ierarhică a datelor. Oferă instrumente pentru analiza arborilor de parsare prin interogări bazate pe cale și tipare de parcurgere de tip visitor-listener pentru a decupla logica gramaticii de acțiunile aplicației. Utilitarele de linie de comandă sunt disponibile pentru testarea definițiilor de gramatică și depanarea logicii, iar instrumentul poate fi executat în containere Docker pentru a evita instalările locale.
Produces lexer and parser source code for multiple target programming languages from a single shared grammar.
Wuffs is a toolset for generating memory-safe, sandboxed parsers and decoders from domain-specific language specifications. It functions as a compiler that transforms these specifications into executable code for C, Go, or Rust, specifically designed to decode untrusted file formats while preventing buffer and integer overflows. The project employs a sandboxed execution model that prohibits system calls and manual memory management to ensure computations are side-effect free. It utilizes a refined type system and compile-time constraint verification to enforce memory safety, alongside saturat
A feature that translates a domain-specific language into executable code for other target environments such as Go or Rust.