One grammar, four languages
Write a grammar in the .lark language and parse it from Python, Rust,
TypeScript, or C — one Rust engine behind every binding.
One grammar language, one engine, the same semantics everywhere — pick where you work.
One grammar, four languages
Write a grammar in the .lark language and parse it from Python, Rust,
TypeScript, or C — one Rust engine behind every binding.
LALR and Earley
Both parsers, every lexer (basic / contextual / dynamic), postlex, interactive parsing, and transformers.
Fast, no build step
A native Rust core builds parse tables at runtime — no code generation, and grammars stay loadable at runtime. See the benchmarks.
Try it live
Paste a grammar and parse in your browser — open the playground.