cvs commit: ports/devel Makefile ports/devel/py-funcparserlib Makefile distinfo pkg-descr pkg-plist

TAKATSU Tomonari tota at FreeBSD.org
Fri Aug 5 14:03:53 UTC 2011


tota        2011-08-05 14:03:53 UTC

  FreeBSD ports repository

  Modified files:
    devel                Makefile 
  Added files:
    devel/py-funcparserlib Makefile distinfo pkg-descr pkg-plist 
  Log:
  - Add a new port: 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.
  
    WWW:  http://code.google.com/p/funcparserlib/
  
  Revision  Changes    Path
  1.4471    +1 -0      ports/devel/Makefile
  1.1       +45 -0     ports/devel/py-funcparserlib/Makefile (new)
  1.1       +2 -0      ports/devel/py-funcparserlib/distinfo (new)
  1.1       +21 -0     ports/devel/py-funcparserlib/pkg-descr (new)
  1.1       +13 -0     ports/devel/py-funcparserlib/pkg-plist (new)


More information about the cvs-all mailing list