Port details on branch 2022Q2 |
- py-funcparserlib Recursive descent parsing library based on functional combinators
- 1.0.1 devel =0 1.0.1Version of this port present on the latest quarterly branch.
- Maintainer: tota@FreeBSD.org
- Port Added: 2011-08-05 14:04:23
- Last Update: 2023-06-27 19:34:34
- Commit Hash: 3d9a815
- Also Listed In: python
- License: MIT
- WWW:
- https://funcparserlib.pirx.ru/
- Description:
- 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.
- ¦ ¦ ¦ ¦
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - There is no configure plist information for this port.
- Dependency lines:
-
- ${PYTHON_PKGNAMEPREFIX}funcparserlib>0:devel/py-funcparserlib@${PY_FLAVOR}
- To install the port:
- cd /usr/ports/devel/py-funcparserlib/ && make install clean
- To add the package, run one of these commands:
- pkg install devel/py-funcparserlib
- pkg install py39-funcparserlib
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above. NOTE: This is a Python port. Instead of py39-funcparserlib listed in the above command, you can pick from the names under the Packages section.- PKGNAME: py39-funcparserlib
- Package flavors (<flavor>: <package>)
- distinfo:
- TIMESTAMP = 1683934239
SHA256 (funcparserlib-1.0.1.tar.gz) = a2c4a0d7942f7a0e7635c369d921066c8d4cae7f8b5bf7914466bec3c69837f4
SIZE (funcparserlib-1.0.1.tar.gz) = 17238
Packages (timestamps in pop-ups are UTC):
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- py39-setuptools>=63.1.0 : devel/py-setuptools@py39
- python3.9 : lang/python39
- Test dependencies:
-
- python3.9 : lang/python39
- Runtime dependencies:
-
- py39-setuptools>=63.1.0 : devel/py-setuptools@py39
- python3.9 : lang/python39
- This port is required by:
- for Build
-
- lang/py-hy
- for Run
-
- graphics/py-blockdiag
- lang/py-hy
Configuration Options:
- No options to configure
- Options name:
- devel_py-funcparserlib
- USES:
- python
- FreshPorts was unable to extract/find any pkg message
- Master Sites:
|