Source: funcparserlib Maintainer: Debian Python Team Uploaders: Kouhei Maeda , Alexandre Detiste , Build-Depends: debhelper-compat (= 13), dh-sequence-python3, pybuild-plugin-pyproject, python3-all, python3-poetry-core, Standards-Version: 4.7.3 Section: python Homepage: https://github.com/vlasovskikh/funcparserlib Vcs-Browser: https://salsa.debian.org/python-team/packages/funcparserlib Vcs-Git: https://salsa.debian.org/python-team/packages/funcparserlib.git Package: python3-funcparserlib Architecture: all Depends: ${misc:Depends}, ${python3:Depends}, Description: Recursive descent parsing library for python3 For python3. Parser combinators are just higher-order functions that take parsers as their arguments and return them as result values. Parser combinators are: . First-class values. Extremely composable. Tend to make the code quite compact. Resemble the readable notation of xBNF grammars. . Parsers made with funcparserlib are pure-Python LL(*) parsers. It means that it's very easy to write them without thinking about look-aheads and all that hardcore parsing stuff. But the recursive descent parsing is a rather slow method compared to LL(k) or LR(k) algorithms. . So the primary domain for funcparserlib is parsing little languages or external DSLs (domain specific languages). . The library itself is very small. Its source code is only 0.5 KLOC, with lots of comments included. It features the longest parsed prefix error reporting, as well as a tiny lexer generator for token position tracking.