08 Nov 11
27 Jul 09
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.
09 Apr 09
LEPL is a recursive descent parser, written in Python, which has a a friendly, easy–to–use syntax. The underlying implementation includes several features that make it more powerful than might be expected. For example, it is not limited by the Python stack, because it uses trampolining and co–routines. Multiple parses can be found for ambiguous grammars and it can also handle left–recursive grammars. The aim is a powerful, extensible parser that will also give solid, reliable results to first–time users.