Source: funcparserlib Priority: optional Maintainer: Kouhei Maeda Build-Depends: debhelper (>= 8.0.0), dh-python, python-all, python-setuptools, python3-all, python3-setuptools, python-nose, python3-nose Standards-Version: 3.9.8 Section: python X-Python-Version: 2.7 X-Python3-Version: >=3.2 Homepage: https://github.com/vlasovskikh/funcparserlib Package: python-funcparserlib Architecture: all Depends: ${misc:Depends}, ${python:Depends} Description: Recursive descent parsing library based on functional combinators 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. 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.