FreeBSD.software
Home/devel/py311-funcparserlib

py311-funcparserlib

1.0.1_1devel

Recursive descent parsing library based on functional combinators

The primary focus of funcparserlib is parsing little languages or external DSLs (domain specific languages). Parsers made with funcparserlib are pure-Python LL(*) parsers. It means that it's very easy to write parsers without thinking about lookaheads and other hardcore parsing stuff. However, recursive descent parsing is a rather slow method compared to LL(k) or LR(k) algorithms. Still, parsing with funcparserlib is at least twice faster than PyParsing, a very popular library for Python. The source code of funcparserlib is only 1.2K lines of code, with lots of comments. Its API is fully type hinted. It features the longest parsed prefix error reporting, as well as a tiny lexer generator for token position tracking. The idea of parser combinators used in funcparserlib comes from the Introduction to Functional Programming course. We have converted it from ML into Python.

$pkg install py311-funcparserlib
funcparserlib.pirx.ru
Origin
devel/py-funcparserlib
Size
136KiB
License
MIT
Maintainer
tota@FreeBSD.org
Dependencies
1 packages
Required by
2 packages

Dependencies (1)

Required By (2)