devel/py-funcparserlib - The NetBSD Packages Collection

Recursive descent parsing library based on functional combinators

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.

Build dependencies

pkgtools/cwrappers

Runtime dependencies

devel/py-setuptools lang/python38 lang/python38

Binary packages

OSArchitectureVersion
NetBSD 8.0earmv7hfpy27-funcparserlib-0.3.6.tgz
NetBSD 8.0earmv7hfpy36-funcparserlib-0.3.6.tgz
NetBSD 8.0earmv7hfpy37-funcparserlib-0.3.6.tgz
NetBSD 8.0earmv7hfpy38-funcparserlib-0.3.6.tgz
NetBSD 8.0earmv7hfpy39-funcparserlib-0.3.6.tgz
NetBSD 8.0earmv7hfpy36-funcparserlib-0.3.6.tgz
NetBSD 8.0earmv7hfpy37-funcparserlib-0.3.6.tgz
NetBSD 8.0earmv7hfpy38-funcparserlib-0.3.6.tgz
NetBSD 8.0earmv7hfpy27-funcparserlib-0.3.6.tgz
NetBSD 8.0earmv7hfpy36-funcparserlib-0.3.6.tgz
NetBSD 8.0earmv7hfpy37-funcparserlib-0.3.6.tgz
NetBSD 8.0earmv7hfpy38-funcparserlib-0.3.6.tgz
NetBSD 8.0earmv7hfpy39-funcparserlib-0.3.6.tgz
NetBSD 8.0i386py27-funcparserlib-0.3.6.tgz
NetBSD 8.0i386py36-funcparserlib-0.3.6.tgz
NetBSD 8.0i386py37-funcparserlib-0.3.6.tgz
NetBSD 8.0i386py38-funcparserlib-0.3.6.tgz
NetBSD 8.0i386py27-funcparserlib-0.3.6.tgz
NetBSD 8.0i386py36-funcparserlib-0.3.6.tgz
NetBSD 8.0i386py37-funcparserlib-0.3.6.tgz
NetBSD 8.0i386py38-funcparserlib-0.3.6.tgz
NetBSD 8.0i386py39-funcparserlib-0.3.6.tgz
NetBSD 8.0i386py27-funcparserlib-0.3.6.tgz
NetBSD 8.0i386py36-funcparserlib-0.3.6.tgz
NetBSD 8.0i386py37-funcparserlib-0.3.6.tgz
NetBSD 8.0i386py38-funcparserlib-0.3.6.tgz
NetBSD 8.0i386py39-funcparserlib-0.3.6.tgz
NetBSD 8.0powerpcpy27-funcparserlib-0.3.6.tgz
NetBSD 8.0powerpcpy36-funcparserlib-0.3.6.tgz
NetBSD 8.0powerpcpy37-funcparserlib-0.3.6.tgz
NetBSD 8.0powerpcpy38-funcparserlib-0.3.6.tgz
NetBSD 8.0powerpcpy27-funcparserlib-0.3.6.tgz
NetBSD 8.0powerpcpy36-funcparserlib-0.3.6.tgz
NetBSD 8.0powerpcpy37-funcparserlib-0.3.6.tgz
NetBSD 8.0powerpcpy38-funcparserlib-0.3.6.tgz
NetBSD 8.0powerpcpy39-funcparserlib-0.3.6.tgz
NetBSD 8.0powerpcpy27-funcparserlib-0.3.6.tgz
NetBSD 8.0powerpcpy36-funcparserlib-0.3.6.tgz
NetBSD 8.0powerpcpy37-funcparserlib-0.3.6.tgz
NetBSD 8.0powerpcpy38-funcparserlib-0.3.6.tgz
NetBSD 8.0powerpcpy39-funcparserlib-0.3.6.tgz
NetBSD 8.0x86_64py27-funcparserlib-0.3.6.tgz
NetBSD 8.0x86_64py36-funcparserlib-0.3.6.tgz
NetBSD 8.0x86_64py37-funcparserlib-0.3.6.tgz
NetBSD 8.0x86_64py38-funcparserlib-0.3.6.tgz
NetBSD 8.0x86_64py39-funcparserlib-0.3.6.tgz
NetBSD 8.0x86_64py27-funcparserlib-0.3.6.tgz
NetBSD 8.0x86_64py36-funcparserlib-0.3.6.tgz
NetBSD 8.0x86_64py37-funcparserlib-0.3.6.tgz
NetBSD 8.0x86_64py38-funcparserlib-0.3.6.tgz
NetBSD 8.0x86_64py27-funcparserlib-0.3.6.tgz
NetBSD 8.0x86_64py36-funcparserlib-0.3.6.tgz
NetBSD 8.0x86_64py37-funcparserlib-0.3.6.tgz
NetBSD 8.0x86_64py38-funcparserlib-0.3.6.tgz
NetBSD 8.0x86_64py39-funcparserlib-0.3.6.tgz
NetBSD 9.0aarch64py27-funcparserlib-0.3.6.tgz
NetBSD 9.0aarch64py36-funcparserlib-0.3.6.tgz
NetBSD 9.0aarch64py37-funcparserlib-0.3.6.tgz
NetBSD 9.0aarch64py38-funcparserlib-0.3.6.tgz
NetBSD 9.0aarch64py39-funcparserlib-0.3.6.tgz
NetBSD 9.0aarch64py27-funcparserlib-0.3.6.tgz
NetBSD 9.0aarch64py36-funcparserlib-0.3.6.tgz
NetBSD 9.0aarch64py37-funcparserlib-0.3.6.tgz
NetBSD 9.0aarch64py38-funcparserlib-0.3.6.tgz
NetBSD 9.0aarch64py27-funcparserlib-0.3.6.tgz
NetBSD 9.0aarch64py36-funcparserlib-0.3.6.tgz
NetBSD 9.0aarch64py37-funcparserlib-0.3.6.tgz
NetBSD 9.0aarch64py38-funcparserlib-0.3.6.tgz
NetBSD 9.0aarch64py39-funcparserlib-0.3.6.tgz
NetBSD 9.0alphapy27-funcparserlib-0.3.6.tgz
NetBSD 9.0alphapy36-funcparserlib-0.3.6.tgz
NetBSD 9.0alphapy37-funcparserlib-0.3.6.tgz
NetBSD 9.0alphapy38-funcparserlib-0.3.6.tgz
NetBSD 9.0alphapy39-funcparserlib-0.3.6.tgz
NetBSD 9.0alphapy27-funcparserlib-0.3.6.tgz
NetBSD 9.0alphapy36-funcparserlib-0.3.6.tgz
NetBSD 9.0alphapy37-funcparserlib-0.3.6.tgz
NetBSD 9.0alphapy38-funcparserlib-0.3.6.tgz
NetBSD 9.0alphapy27-funcparserlib-0.3.6.tgz
NetBSD 9.0alphapy36-funcparserlib-0.3.6.tgz
NetBSD 9.0alphapy37-funcparserlib-0.3.6.tgz
NetBSD 9.0alphapy38-funcparserlib-0.3.6.tgz
NetBSD 9.0alphapy39-funcparserlib-0.3.6.tgz
NetBSD 9.0earmpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0earmpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0earmpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0earmpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0earmpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0earmpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0earmpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0earmpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0earmpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0earmpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0earmpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0earmpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv6hfpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0earmv7hfpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0i386py27-funcparserlib-0.3.6.tgz
NetBSD 9.0i386py36-funcparserlib-0.3.6.tgz
NetBSD 9.0i386py37-funcparserlib-0.3.6.tgz
NetBSD 9.0i386py38-funcparserlib-0.3.6.tgz
NetBSD 9.0i386py27-funcparserlib-0.3.6.tgz
NetBSD 9.0i386py36-funcparserlib-0.3.6.tgz
NetBSD 9.0i386py37-funcparserlib-0.3.6.tgz
NetBSD 9.0i386py38-funcparserlib-0.3.6.tgz
NetBSD 9.0i386py39-funcparserlib-0.3.6.tgz
NetBSD 9.0i386py27-funcparserlib-0.3.6.tgz
NetBSD 9.0i386py36-funcparserlib-0.3.6.tgz
NetBSD 9.0i386py37-funcparserlib-0.3.6.tgz
NetBSD 9.0i386py38-funcparserlib-0.3.6.tgz
NetBSD 9.0i386py39-funcparserlib-0.3.6.tgz
NetBSD 9.0mips64ebpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0mips64ebpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0mips64ebpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0mips64ebpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0mips64ebpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0mips64ebpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0mips64ebpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0mips64ebpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0mips64ebpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0mips64ebpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0mips64ebpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0mips64ebpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0mips64ebpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0mips64ebpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0mipselpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0mipselpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0mipselpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0mipselpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0mipselpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0mipselpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0mipselpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0mipselpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0powerpcpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0powerpcpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0powerpcpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0powerpcpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0powerpcpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0powerpcpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0powerpcpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0powerpcpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0powerpcpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0sh3elpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0sh3elpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0sh3elpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0sh3elpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0sh3elpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0sh3elpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0sh3elpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0sh3elpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py27-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py36-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py37-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py38-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py39-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py27-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py36-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py37-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py38-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py27-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py36-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py37-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py38-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py27-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py36-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py37-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py38-funcparserlib-0.3.6.tgz
NetBSD 9.0sparc64py39-funcparserlib-0.3.6.tgz
NetBSD 9.0sparcpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0sparcpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0sparcpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0sparcpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0sparcpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0sparcpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0sparcpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0sparcpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0sparcpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0sparcpy27-funcparserlib-0.3.6.tgz
NetBSD 9.0sparcpy36-funcparserlib-0.3.6.tgz
NetBSD 9.0sparcpy37-funcparserlib-0.3.6.tgz
NetBSD 9.0sparcpy38-funcparserlib-0.3.6.tgz
NetBSD 9.0sparcpy39-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py27-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py36-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py37-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py38-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py39-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py27-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py36-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py37-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py38-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py39-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py27-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py36-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py37-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py38-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py39-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py27-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py36-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py37-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py38-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py39-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py27-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py36-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py37-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py38-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py27-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py36-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py37-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py38-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py39-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py27-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py36-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py37-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py38-funcparserlib-0.3.6.tgz
NetBSD 9.0x86_64py39-funcparserlib-0.3.6.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

Available build options

(none)

Known vulnerabilities

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.


Problem reports, updates or suggestions for this package should be reported with send-pr.