11 dépôts
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 est une bibliothèque de parsing Rust et un générateur de parser automatique qui transforme des définitions de grammaire formelles en parsers fonctionnels. Il se spécialise dans les Parsing Expression Grammars (PEG) pour reconnaître et structurer des motifs textuels complexes, fournissant un système pour le parsing de grammaires non contextuelles. La bibliothèque implémente une tokenisation sans copie (zero-copy) et une compilation de grammaire statique pour réduire la surcharge à l'exécution. Elle supporte la compatibilité no-std, permettant au parser d'être compilé pour des environnements embarqués ou bare-metal où la bibliothèque standard est indisponible. Le projet couvre une gamme de capacités de parsing, incluant l'extraction de paires de tokens imbriqués et la validation syntaxique automatisée. Il est utilisé pour implémenter des langages dédiés (DSL), le parsing de langages personnalisés et l'évaluation d'expressions mathématiques. Il fournit également des rapports d'erreurs automatisés pour identifier les tokens inattendus ou les entrées manquantes.
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.