Welcome to Lark’s documentation!¶
Lark is a modern parsing library for Python. Lark can parse any context-free grammar.
Lark provides:
- Advanced grammar language, based on EBNF
- Three parsing algorithms to choose from: Earley, LALR(1) and CYK
- Automatic tree construction, inferred from your grammar
- Fast unicode lexer with regexp support, and automatic line-counting
Install Lark¶
$ pip install lark
Syntax Highlighting¶
- Sublime Text & TextMate
- Visual Studio Code (Or install through the vscode plugin system)
- Intellij & PyCharm
- Vim
- Atom
Resources¶
- Philosophy
- Features
- Examples
- Third-party examples
- Online IDE
- Tutorials
- How to write a DSL - Implements a toy LOGO-like language with an interpreter
- JSON parser - Tutorial - Teaches you how to use Lark
- Unofficial
- Program Synthesis is Possible - Creates a DSL for Z3
- Guides
- Reference
- Discussion