- Remove DOCS option - Update pkg-descr Changes: https://funcparserlib.pirx.ru/changes/#100-2022-05-02
20 lines
923 B
Text
20 lines
923 B
Text
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.
|
|
|
|
WWW: https://funcparserlib.pirx.ru/
|