Skip to content
Snippets Groups Projects
Commit f676758b authored by TAKATSU Tomonari's avatar TAKATSU Tomonari
Browse files

devel/py-funcparserlib: Update to 1.0.0

- Remove DOCS option
- Update pkg-descr

Changes:	https://funcparserlib.pirx.ru/changes/#100-2022-05-02
parent 0885e31f
No related branches found
No related tags found
No related merge requests found
# Created by: TAKATSU Tomonari <tota@FreeBSD.org> # Created by: TAKATSU Tomonari <tota@FreeBSD.org>
PORTNAME= funcparserlib PORTNAME= funcparserlib
PORTVERSION= 0.3.6 PORTVERSION= 1.0.0
PORTREVISION= 1
CATEGORIES= devel python CATEGORIES= devel python
MASTER_SITES= CHEESESHOP MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
...@@ -12,19 +11,7 @@ COMMENT= Recursive descent parsing library based on functional combinators ...@@ -12,19 +11,7 @@ COMMENT= Recursive descent parsing library based on functional combinators
LICENSE= MIT LICENSE= MIT
USES= python:3.6+ USES= python:3.7+
USE_PYTHON= distutils autoplist USE_PYTHON= distutils autoplist
PORTDOCS= README doc
DOCSDIR= ${PREFIX}/share/doc/${PKGBASE}
OPTIONS_DEFINE= DOCS
post-install:
@${RM} ${WRKSRC}/doc/Makefile
@${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${INSTALL_WRKSRC} \
&& ${FIND} ${PORTDOCS} -type d -exec ${MKDIR} ${STAGEDIR}${DOCSDIR}/\{} \; \
&& ${FIND} ${PORTDOCS} -type f -exec ${INSTALL_DATA} \{} ${STAGEDIR}${DOCSDIR}/\{} \;
.include <bsd.port.mk> .include <bsd.port.mk>
SHA256 (funcparserlib-0.3.6.tar.gz) = b7992eac1a3eb97b3d91faa342bfda0729e990bd8a43774c1592c091e563c91d TIMESTAMP = 1651790418
SIZE (funcparserlib-0.3.6.tar.gz) = 30401 SHA256 (funcparserlib-1.0.0.tar.gz) = 7dd33dd4299fc55cbdbf4b9fdfb3abc54d3b5ed0c694b83fb38e9e3e8ac38b6b
SIZE (funcparserlib-1.0.0.tar.gz) = 17269
This diff is collapsed.
Parser combinators are just higher-order functions that take parsers as The primary focus of funcparserlib is parsing little languages or
their arguments and return them as result values. Parser combinators are: external DSLs (domain specific languages).
* First-class values Parsers made with funcparserlib are pure-Python LL(*) parsers. It
* Extremely composable means that it's very easy to write parsers without thinking about
* Tend to make the code quite compact lookaheads and other hardcore parsing stuff. However, recursive
* Resemble the readable notation of xBNF grammars 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.
Parsers made with funcparserlib are pure-Python LL(*) parsers. It means that The source code of funcparserlib is only 1.2K lines of code, with
it's very easy to write them without thinking about look-aheads and all that lots of comments. Its API is fully type hinted. It features the
hardcore parsing stuff. But the recursive descent parsing is a rather slow longest parsed prefix error reporting, as well as a tiny lexer
method compared to LL(k) or LR(k) algorithms. generator for token position tracking.
So the primary domain for funcparserlib is parsing little languages or external The idea of parser combinators used in funcparserlib comes from the
DSLs (domain specific languages). Introduction to Functional Programming course. We have converted
it from ML into Python.
The library itself is very small. Its source code is only 0.5 KLOC, with lots WWW: https://funcparserlib.pirx.ru/
of comments included. It features the longest parsed prefix error reporting,
as well as a tiny lexer generator for token position tracking.
WWW: http://code.google.com/p/funcparserlib/
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment