Bug#626705: ITP: funcparserlib -- Recursive descent parsing library based on functional combinators.
Owner: Kouhei Maeda <firstname.lastname@example.org>
* Package name : funcparserlib
Version : 3.9.2
Upstream Author : Andrey Vlasovskikh <email@example.com>
* URL : http://code.google.com/p/funcparserlib/
* License : MIT
Programming Lang: Python
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:
o First-class values
o Extremely composable
o Tend to make the code quite compact
o 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.