2 Repos
Tools for creating custom binary data parsers using domain-specific languages with backtracking.
Distinct from Binary Data Parsers: Specifically provides the generation mechanism for parsers, rather than just providing a set of static parser libraries.
Explore 2 awesome GitHub repositories matching data & databases · Parser Generators. Refine with filters or upvote what's useful.
Racket ist eine Mehrzweck-Programmiersprache mit mehreren Paradigmen aus der Lisp-Familie, die für die Sprachschöpfung entwickelt wurde. Sie fungiert als Sprach-Workbench und bietet eine Plattform zum Entwerfen und Implementieren benutzerdefinierter Programmiersprachen durch ein flexibles System aus Makros und Modulen. Das System zeichnet sich durch eine umfassende Suite für Semantik-Engineering aus, die den Aufbau spezialisierter Sprach-Subsets und Bildungsschichten ermöglicht. Es enthält Tools für das Design benutzerdefinierter Sprachen, wie Lexer- und Parser-Generierung, sowie die Fähigkeit, Modul-Erweiterungsregeln und dynamische Sprachauswahl zur Lesezeit zu definieren. Das Projekt bietet eine integrierte Entwicklungsumgebung mit eingebautem Editor, visuellem Debugger und einem Software-Paketmanager. Die Funktionspalette erstreckt sich auf eine Standardbibliothek für allgemeine Zwecke, die 2D-Grafik-Rendering, Binärdatenverarbeitung, SQL- und deduktive Datenbankintegration sowie den Bau grafischer Benutzeroberflächen abdeckt. Die Umgebung unterstützt das Kompilieren von Quellcode in eigenständige ausführbare Dateien für die Distribution.
Provides a domain-specific language for generating binary data parsers with backtracking and context-sensitivity.
Kaitai Struct ist ein Framework für deklarative Binärspezifikationen, das die automatisierte Parser- und Serializer-Generierung über mehrere Programmiersprachen hinweg ermöglicht. Es verwendet eine portable, domänenspezifische Sprache, um das Layout von Binärdateien und Netzwerkpaketen zu beschreiben, und konvertiert diese Spezifikationen in Quellcode zum Lesen und Schreiben binärer Daten. Das System ermöglicht sprachübergreifende Datenverarbeitung durch die Übersetzung einer einzigen strukturellen Definition in nativen Quellcode für Sprachen wie C++, C#, Go, Java, JavaScript, Python und Rust. Dieser Ansatz ermöglicht es, dieselbe Binärdatenspezifikation über verschiedene Plattformen hinweg zu implementieren, ohne die Parsing-Logik manuell neu schreiben zu müssen. Das Framework deckt die Modellierung und Verarbeitung binärer Daten ab, einschließlich der Fähigkeit, Lesezeiger für die Offset-Navigation zu verwalten und Datentransformationen wie Dekomprimierung und Entschlüsselung anzuwenden. Es bietet zudem Tools für das Debugging von Formatspezifikationen, um das Mapping zwischen Binärdatenlayouts und ihren deklarativen Beschreibungen zu validieren.
Automatically generates binary data parser source code for multiple languages from a declarative format specification.