An incremental parsing system for programming tools
-
Updated
Aug 8, 2026 - Rust
A grammar describes the syntax of a programming language, and might be defined in Backus-Naur form (BNF). A lexer performs lexical analysis, turning text into tokens. A parser takes tokens and builds a data structure like an abstract syntax tree (AST). The parser is concerned with context: does the sequence of tokens fit the grammar? A compiler is a combined lexer and parser, built for a specific grammar.
An incremental parsing system for programming tools
[Chumsky has moved to Codeberg!] Write expressive, high-performance parsers with ease.
Parsing Expression Grammar (PEG) parser generator for Rust
PEG parser combinators using operator overloading without macros.
Reference implementation for the JavaScript Binary AST format
Fast numeric to- and from-string conversion routines.
xml-rs based deserializer for Serde (compatible with 1.0+)
Safe, fast, zero-panic, zero-crashing, zero-allocation parsing of untrusted inputs in Rust.
Resilient LL(1) parser generator for Rust
Compile-time string pattern matching that reverses format! interpolation — a lightweight regex alternative with no runtime compilation cost
The prettier pattern-matching parser with automatic error recovery
JsonPath engine written in Rust. Webassembly and Javascript support too