diff options
author | TAKATSU Tomonari <tota@FreeBSD.org> | 2011-08-05 14:03:53 +0000 |
---|---|---|
committer | TAKATSU Tomonari <tota@FreeBSD.org> | 2011-08-05 14:03:53 +0000 |
commit | d0bf10ed20d8374cb6ac1ee4d13a6450be1af058 (patch) | |
tree | 540d91f6fc7d925b7461f6248bcd77ade3db36c6 /devel/py-funcparserlib/pkg-descr | |
parent | 6e4e0d5b6d8581e17a8b04b283ab23bf62e0c4e1 (diff) | |
download | ports-d0bf10ed20d8374cb6ac1ee4d13a6450be1af058.tar.gz ports-d0bf10ed20d8374cb6ac1ee4d13a6450be1af058.zip |
Notes
Diffstat (limited to 'devel/py-funcparserlib/pkg-descr')
-rw-r--r-- | devel/py-funcparserlib/pkg-descr | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/devel/py-funcparserlib/pkg-descr b/devel/py-funcparserlib/pkg-descr new file mode 100644 index 000000000000..cd63ed8594c2 --- /dev/null +++ b/devel/py-funcparserlib/pkg-descr @@ -0,0 +1,21 @@ +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/ |