.. Lark documentation master file, created by sphinx-quickstart on Sun Aug 16 13:09:41 2020. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Welcome to Lark's documentation! ================================ .. 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 Install Lark -------------- .. code:: bash $ pip install lark-parser Syntax Highlighting ------------------- - `Sublime Text & TextMate`_ - `Visual Studio Code`_ (Or install through the vscode plugin system) - `Intellij & PyCharm`_ - `Vim`_ - `Atom`_ .. _Sublime Text & TextMate: https://github.com/lark-parser/lark_syntax .. _Visual Studio Code: https://github.com/lark-parser/vscode-lark .. _Intellij & PyCharm: https://github.com/lark-parser/intellij-syntax-highlighting .. _Vim: https://github.com/lark-parser/vim-lark-syntax .. _Atom: https://github.com/Alhadis/language-grammars Resources --------- - :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 - Guides - :doc:`how_to_use` - :doc:`how_to_develop` - Reference - :doc:`grammar` - :doc:`tree_construction` - :doc:`visitors` - :doc:`forest` - :doc:`classes` - :doc:`tools` - `Cheatsheet (PDF)`_ - Discussion - `Gitter`_ - `Forum (Google Groups)`_ .. _Examples: https://github.com/lark-parser/lark/tree/master/examples .. _Third-party examples: https://github.com/ligurio/lark-grammars .. _Online IDE: https://lark-parser.github.io/lark/ide/app.html .. _How to write a DSL: http://blog.erezsh.com/how-to-write-a-dsl-in-python-with-lark/ .. _Program Synthesis is Possible: https://www.cs.cornell.edu/~asampson/blog/minisynth.html .. _Cheatsheet (PDF): _static/lark_cheatsheet.pdf .. _Gitter: https://gitter.im/lark-parser/Lobby .. _Forum (Google Groups): https://groups.google.com/forum/#!forum/lark-parser