ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
-
Updated
Feb 8, 2025 - Java
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.
ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
PEG.js: Parser generator for JavaScript
Parsing Expression Grammar (PEG) parser generator for Rust
A single file C++ header-only PEG (Parsing Expression Grammars) library
Command pigeon generates parsers in Go from a PEG grammar.
BNF Converter
Racc is an LALR(1) parser generator. It is written in Ruby itself, and generates ruby programs.
An IntelliJ plugin for ANTLR v4
Compile Time Parser Generator is a C++ single header library which takes a language description as a C++ code and turns it into a LR1 table parser with a deterministic finite automaton lexical analyzer, all in compile time.
The implementation of the Rascal meta-programming language (including interpreter, type checker, parser generator, compiler and JVM based run-time system)
竜 TatSu generates Python parsers from grammars in a variation of EBNF
a parser and lexer generator as a Rust procedural macro
A script language of time-sharing scheduling coroutine in single thread
a C# embeddable lexer and parser generator (.Net core)
A parser generator for C
PEGs for Nim, another take
The magical sticky regex-based parser generator 🧙