.. toctree:: :maxdepth: 2 :caption: Overview :hidden: philosophy features parsers
.. toctree:: :maxdepth: 2 :caption: Tutorials & Guides :hidden: json_tutorial how_to_use how_to_develop recipes examples/index
.. toctree:: :maxdepth: 2 :caption: Reference :hidden: grammar tree_construction classes visitors forest tools
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
$ pip install lark
- Sublime Text & TextMate
- Visual Studio Code (Or install through the vscode plugin system)
- Intellij & PyCharm
- Vim
- Atom
- :doc:`philosophy`
- :doc:`features`
- Examples
- Third-party examples
- Online IDE
- Tutorials
- How to write a DSL - Implements a toy LOGO-like language with an interpreter
- :doc:`json_tutorial` - Teaches you how to use Lark
- Unofficial
- Program Synthesis is Possible - Creates a DSL for Z3
- Using Lark to Parse Text - Robin Reynolds-Haertle (PyCascades 2023) (video presentation)
- Guides
- Reference
- Discussion