11 Repos
Tools for generating lexers and parsers from grammar definitions.
Explore 11 awesome GitHub repositories matching part of an awesome list · Parser Generators. Refine with filters or upvote what's useful.
OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and expressiveness. It provides a comprehensive compiling toolchain that transforms source code into either portable bytecode or high-performance native binaries. The project is distinguished by a shared memory parallel runtime that executes computations across multiple processor cores using domains, and an algebraic effect system for managing side effects and control flow through execution context handlers. It also includes a dedicated parser generator to automatically create lexers and
Ships a parser generator to automatically create lexers and parsers from defined grammar files.
Ohm is a formal grammar parser generator and domain-specific language framework. It provides a system for defining custom languages to parse, validate, and extract data from input text, transforming raw strings into hierarchical abstract syntax trees based on specified formal rules. The project utilizes an Earley parsing algorithm, which allows it to support all context-free grammars, including those with left recursion and ambiguity, without requiring predefined operator precedence. It also includes a dedicated debugging toolkit for tracing and visualizing the step-by-step state transitions
Uses the Earley parsing algorithm to support all context-free grammars, including those with left recursion.
Pest ist eine Rust-Parsing-Bibliothek und ein automatischer Parser-Generator, der formale Grammatikdefinitionen in funktionale Parser umwandelt. Er ist auf Parsing Expression Grammars (PEG) spezialisiert, um komplexe Textmuster zu erkennen und zu strukturieren, und bietet ein System für kontextfreies Grammatik-Parsing. Die Bibliothek implementiert Zero-Copy-Tokenisierung und statische Grammatik-Kompilierung, um den Laufzeit-Overhead zu reduzieren. Sie unterstützt no-std-Laufzeitkompatibilität, wodurch der Parser für eingebettete oder Bare-Metal-Umgebungen kompiliert werden kann, in denen keine Standardbibliothek verfügbar ist. Das Projekt deckt eine Reihe von Parsing-Funktionen ab, einschließlich der Extraktion verschachtelter Token-Paare und automatisierter Syntax-Validierung. Es wird für die Implementierung domänenspezifischer Sprachen (DSLs), benutzerdefinierter Sprach-Parser und die Auswertung mathematischer Ausdrücke verwendet. Zudem bietet es automatisierte Fehlerberichte zur Identifizierung unerwarteter Token oder fehlender Eingaben.
PEG parser generator for Rust.
Nearley is a JavaScript parser toolkit used to define context-free grammars and generate corresponding parsers. It features an EBNF grammar compiler that transforms language definitions written in extended Backus-Naur Form into executable JavaScript code, utilizing an Earley parser implementation to process any context-free grammar. The toolkit distinguishes itself by its ability to handle left-recursion and ambiguity without failing, allowing it to identify and return multiple valid derivations for a single input string. It also includes a grammar fuzzing generator to produce random strings
Simple and fast parser toolkit for JavaScript.
Parsing Expression Grammar (PEG) parser generator for Rust
PEG parser generator for Rust.
A Parsing Expression Grammar (PEG) module, using the D programming language.
Parser generator for PEG grammars in D.
An attempt to port David Beazley's PLY to RPython, and give it a cooler API.
Port of a parsing tool to RPython.
bison / YACC / LEX in JavaScript (LALR(1), SLR(1), etc. lexer/parser generator)
Active fork of a JavaScript parser generator.
LALR(1) Parser Generator for the D Programming Language
LALR(1) parser generator for the D language.
FancyPars - a very fast parserGenerator
Fast parser generator for D.
LR(1) parser generator for Rust
LR(1) parser generator for Rust.