devel/py-funcparserlib 1.0.1_1 FreeBSD
Recursive descent parsing library based on functional combinators
- System
- FreeBSD
- Repository
- FreeBSD ports
- Maintainer
- [email protected]
- License
- MIT
- Categories
- devel, python
- Package size
- 25.6 KiB, 130.6 KiB installed
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.
In the other systems
| System | Port | Version |
|---|---|---|
| FreeBSD | devel/py-funcparserlib | 1.0.1_1 |
| NetBSD | devel/py-funcparserlib | 1.0.1 |
| DragonFly | devel/py-funcparserlib | 1.0.1_1 |
Install
Binary package:
pkg install py312-funcparserlib
From the ports tree:
cd /usr/ports/devel/py-funcparserlib/ && make install clean
To depend on this port in another port's Makefile:
RUN_DEPENDS= py312-funcparserlib>0:devel/py-funcparserlib
Packages
The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.
| Repository | aarch64 | amd64 | armv6 | armv7 | i386 |
|---|---|---|---|---|---|
| FreeBSD:14:latest | 1.0.1_1 | 1.0.1_1 | 1.0.0 | 1.0.1_1 | 1.0.1_1 |
| FreeBSD:14:quarterly | 1.0.1_1 | 1.0.1_1 | n/a | 1.0.1_1 | 1.0.1_1 |
| FreeBSD:15:latest | 1.0.1_1 | 1.0.1_1 | n/a | 1.0.1_1 | 1.0.1_1 |
| FreeBSD:15:quarterly | 1.0.1_1 | 1.0.1_1 | n/a | n/a | n/a |
| FreeBSD:16:latest | 1.0.1_1 | 1.0.1_1 | n/a | n/a | n/a |
| FreeBSD:16:quarterly | n/a | n/a | n/a | n/a | n/a |
Dependencies
The Makefile names none itself; they come from USES and USE_*.
The full lists below include those, and their dependencies in turn.
Build dependencies 11
Run dependencies 7
Configuration
No options to configure.
- USES
- python
- Service scripts
- none
Files
distinfo 1
| File | Size | SHA256 |
|---|---|---|
| funcparserlib-1.0.1.tar.gz | 17238 | a2c4a0d7942f7a0e7635c369d921066c8d4cae7f8b5bf7914466bec3c69837f4 |
Master sites 1
- PYPI
Commit history 0
No commits in the history this site was built from.