Next | Query returned 14 messages, browsing 11 to 20 | previous

History of commit frequency

CVS Commit History:


   2013-10-12 15:38:38 by OBATA Akio | Files touched by this commit (3)
Log message:
Update py-funcparserlib to 0.3.6.

0.3.6, 2013-05-02
-----------------

A maintenance release.

* Python 3 compatibility
* #31 Fixed `many()` that consumed too many tokens in some cases
* #14 More info available in exception objects
   2012-10-31 12:19:55 by Aleksej Saushev | Files touched by this commit (1460)
Log message:
Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.
   2012-04-08 22:22:01 by Thomas Klausner | Files touched by this commit (148)
Log message:
All supported python versions in pkgsrc support eggs, so remove
${PLIST.eggfile} from PLISTs and support code from lang/python.
   2011-07-15 15:34:02 by OBATA Akio | Files touched by this commit (4) | Imported package
Log message:
Import py-funcparserlib-0.3.5 as devel/py-funcparserlib.

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.


Next | Query returned 14 messages, browsing 11 to 20 | previous