./devel/py-funcparserlib, Recursive descent parsing library based on functional combinators

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: pkgsrc-2019Q3, Version: 0.3.6, Package name: py37-funcparserlib-0.3.6, Maintainer: pkgsrc-users

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.


Master sites:

SHA1: 6db0e9e78dcddd993cdd488945b040934a361f03
RMD160: 90ae4ce8eb4009fd1e4ba1a829ea0b37acc87cf1
Filesize: 29.688 KB

Version history: (Expand)