2 Repos
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 ist ein grammatikbasierter Codegenerator und Parser-Generator für mehrere Sprachen, der zum Entwerfen und Implementieren benutzerdefinierter Sprachen verwendet wird. Er fungiert als Toolkit zur Transformation formaler Sprachdefinitionen in ausführbaren Quellcode für die Verarbeitung strukturierter Text- oder Binärdateien, während er gleichzeitig ein Framework für die automatische Konstruktion und Durchquerung hierarchischer Parse-Bäume bereitstellt. Das Projekt zeichnet sich durch seine Fähigkeit aus, Lexer und Parser in verschiedenen Zielprogrammiersprachen aus einer einzigen gemeinsamen Grammatikdefinition zu generieren. Es unterstützt Grammatiken, die direkte Linksrekursion enthalten, und nutzt adaptive Vorhersagen, um die Parsing-Geschwindigkeit zu optimieren und gleichzeitig die Flexibilität zu wahren. Das System deckt ein breites Spektrum an Fähigkeiten ab, einschließlich lexikalischer Analyse, semantischer Prüfung durch Prädikatsauswertung und hierarchischem Datenmanagement. Es bietet Tools für die Analyse von Parse-Bäumen durch pfadbasierte Abfragen und Visitor-Listener-Durchquerungsmuster, um die Grammatiklogik von Anwendungsaktionen zu entkoppeln. Befehlszeilen-Dienstprogramme sind für das Testen von Grammatikdefinitionen und das Debuggen von Logik verfügbar, und das Tool kann in Docker-Containern ausgeführt werden, um lokale Installationen zu vermeiden.
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.