11 个仓库
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 是一个 Rust 解析库和自动解析器生成器,可将形式语法定义转换为功能性解析器。它专注于解析表达式语法(PEG)以识别和结构化复杂的文本模式,提供了一个用于上下文无关语法解析的系统。 该库实现了零拷贝标记化和静态语法编译,以减少运行时开销。它支持 no-std 运行时兼容性,允许解析器在没有标准库的嵌入式或裸机环境中编译。 该项目涵盖了一系列解析功能,包括嵌套标记对的提取和自动语法验证。它用于实现领域特定语言(DSL)、自定义语言解析和数学表达式求值。它还提供自动错误报告以识别意外标记或缺失输入。
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.
LR(1) parser generator for Rust
LR(1) parser generator for Rust.
FancyPars - a very fast parserGenerator
Fast parser generator for D.