11 repositorios
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 es una librería de parsing en Rust y un generador automático de parsers que transforma definiciones de gramática formal en parsers funcionales. Se especializa en Parsing Expression Grammar (PEG) para reconocer y estructurar patrones de texto complejos, proporcionando un sistema para el parsing de gramáticas libres de contexto. La librería implementa tokenización de copia cero (zero-copy) y compilación estática de gramática para reducir la sobrecarga en tiempo de ejecución. Admite compatibilidad con runtime no-std, permitiendo que el parser sea compilado para entornos embebidos o bare-metal donde la librería estándar no está disponible. El proyecto cubre una gama de capacidades de parsing, incluyendo la extracción de pares de tokens anidados y validación de sintaxis automatizada. Se utiliza para implementar lenguajes específicos de dominio (DSL), parsing de lenguajes personalizados y evaluación de expresiones matemáticas. También proporciona informes de errores automatizados para identificar tokens inesperados o entradas faltantes.
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.