python-funcparserlib

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.

There is no official package available for openSUSE Leap 16.0

Distributions

openSUSE Tumbleweed

openSUSE Slowroll

openSUSE Leap 16.0

openSUSE Leap 15.6

openSUSE Leap 15.5

openSUSE Backports for SLE 15 SP7

openSUSE Backports for SLE 15 SP4

SUSE SLE-15-SP2

SUSE SLE-15-SP1

RedHat RHEL-7

CentOS CentOS-7

Unsupported distributions

The following distributions are not officially supported. Use these packages at your own risk.

SUSE:SLE-15:GA

openSUSE:Leap:15.2

openSUSE:Leap:42.1

openSUSE:Leap:42.2

openSUSE:Leap:15.0

openSUSE:Leap:15.1

openSUSE:Leap:42.3

SUSE:SLE-12:SLE-Module-Adv-Systems-Management

SUSE:SLE-12:SLE-Module-Toolchain