[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#626705: ITP: funcparserlib -- Recursive descent parsing library based on functional combinators.



Package: wnpp
Severity: wishlist
Owner: Kouhei Maeda <mkouhei@palmtb.net>


* Package name    : funcparserlib
  Version         : 3.9.2
  Upstream Author : Andrey Vlasovskikh <andrey.vlasovskikh@gmail.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.



Reply to: