@@ -79,22 +79,29 @@ To learn how to use parsy, you should continue with:
7979Other Python projects
8080=====================
8181
82- * `pyparsing <http://pyparsing.wikispaces.com/ >`_. Also a combinator approach,
83- but in general much less cleanly implemented, and rather scattered
84- documentation, although it has more builtin functionality in terms
85- of provided utilities for certain parsing tasks.
82+ This library isn’t for everyone or for every project. It excels at quickly
83+ writing easy-to-read parsers for relatively small languages, and it’s great if
84+ you are a relative newcomer to the subject of parsing but want something better
85+ than ``str.split ``. If you have demanding needs in terms of performance, or
86+ producing good error messages, you may need to look elsewhere. Below are some
87+ other Python libraries you might consider:
8688
8789* `PLY <http://www.dabeaz.com/ply/ >`_. A pure Python implementation of
8890 the classic lex/yacc parsing tools. It is well suited to large grammars
8991 that would be found in typical programming languages.
9092
93+ * `Lark <https://github.com/erezsh/lark >`_. With Lark you write a grammar
94+ definition in a separate mini-language as a string, and have a parser
95+ generated for you, rather than writing the grammar in Python. It has the
96+ advantage of speed and being able to use different parsing algorithms.
97+
98+ * `pyparsing <https://pypi.org/project/pyparsing/ >`_. Also a combinator approach,
99+ but in general much less cleanly implemented, and rather scattered
100+ documentation, although it has more builtin functionality in terms
101+ of provided utilities for certain parsing tasks.
102+
91103* `funcparserlib <https://github.com/vlasovskikh/funcparserlib >`_ - the most
92104 similar to parsy. It differs from parsy mainly in normally using a separate
93105 tokenization phase, lacking the convenience of the :func: `generate ` method for
94106 creating parsers, and documentation that relies on understanding Haskell type
95107 annotations.
96-
97- * `Lark <https://github.com/erezsh/lark >`_. With Lark you write a grammar
98- definition in a separate mini-language as a string, and have a parser
99- generated for you, rather than writing the grammar in Python. It has the
100- advantage of speed and being able to use different parsing algorithms.
0 commit comments