This repo contains code to mirror other repos. It also contains the code that is getting mirrored.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

122 lines
2.8 KiB

  1. .. Lark documentation master file, created by
  2. sphinx-quickstart on Sun Aug 16 13:09:41 2020.
  3. You can adapt this file completely to your liking, but it should at least
  4. contain the root `toctree` directive.
  5. Welcome to Lark's documentation!
  6. ================================
  7. .. toctree::
  8. :maxdepth: 2
  9. :caption: Overview
  10. :hidden:
  11. philosophy
  12. features
  13. parsers
  14. .. toctree::
  15. :maxdepth: 2
  16. :caption: Tutorials & Guides
  17. :hidden:
  18. json_tutorial
  19. how_to_use
  20. how_to_develop
  21. recipes
  22. examples/index
  23. .. toctree::
  24. :maxdepth: 2
  25. :caption: Reference
  26. :hidden:
  27. grammar
  28. tree_construction
  29. classes
  30. visitors
  31. forest
  32. tools
  33. Lark is a modern parsing library for Python. Lark can parse any context-free grammar.
  34. Lark provides:
  35. - Advanced grammar language, based on EBNF
  36. - Three parsing algorithms to choose from: Earley, LALR(1) and CYK
  37. - Automatic tree construction, inferred from your grammar
  38. - Fast unicode lexer with regexp support, and automatic line-counting
  39. Install Lark
  40. --------------
  41. .. code:: bash
  42. $ pip install lark-parser
  43. Syntax Highlighting
  44. -------------------
  45. - `Sublime Text & TextMate`_
  46. - `Visual Studio Code`_ (Or install through the vscode plugin system)
  47. - `Intellij & PyCharm`_
  48. - `Vim`_
  49. - `Atom`_
  50. .. _Sublime Text & TextMate: https://github.com/lark-parser/lark_syntax
  51. .. _Visual Studio Code: https://github.com/lark-parser/vscode-lark
  52. .. _Intellij & PyCharm: https://github.com/lark-parser/intellij-syntax-highlighting
  53. .. _Vim: https://github.com/lark-parser/vim-lark-syntax
  54. .. _Atom: https://github.com/Alhadis/language-grammars
  55. Resources
  56. ---------
  57. - :doc:`philosophy`
  58. - :doc:`features`
  59. - `Examples`_
  60. - `Third-party examples`_
  61. - `Online IDE`_
  62. - Tutorials
  63. - `How to write a DSL`_ - Implements a toy LOGO-like language with
  64. an interpreter
  65. - :doc:`json_tutorial` - Teaches you how to use Lark
  66. - Unofficial
  67. - `Program Synthesis is Possible`_ - Creates a DSL for Z3
  68. - Guides
  69. - :doc:`how_to_use`
  70. - :doc:`how_to_develop`
  71. - Reference
  72. - :doc:`grammar`
  73. - :doc:`tree_construction`
  74. - :doc:`visitors`
  75. - :doc:`forest`
  76. - :doc:`classes`
  77. - :doc:`tools`
  78. - `Cheatsheet (PDF)`_
  79. - Discussion
  80. - `Gitter`_
  81. - `Forum (Google Groups)`_
  82. .. _Examples: https://github.com/lark-parser/lark/tree/master/examples
  83. .. _Third-party examples: https://github.com/ligurio/lark-grammars
  84. .. _Online IDE: https://lark-parser.github.io/ide
  85. .. _How to write a DSL: http://blog.erezsh.com/how-to-write-a-dsl-in-python-with-lark/
  86. .. _Program Synthesis is Possible: https://www.cs.cornell.edu/~asampson/blog/minisynth.html
  87. .. _Cheatsheet (PDF): _static/lark_cheatsheet.pdf
  88. .. _Gitter: https://gitter.im/lark-parser/Lobby
  89. .. _Forum (Google Groups): https://groups.google.com/forum/#!forum/lark-parser