Fri Jul 15 13:34:02 2011 UTC ()
Import py-funcparserlib-0.3.5 as devel/py-funcparserlib.

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.

Status:

Vendor Tag:	TNF
Release Tags:	pkgsrc-base


(obache)
diff -r0 -r1.1.1.1 pkgsrc/devel/py-funcparserlib/Makefile
diff -r0 -r1.1.1.1 pkgsrc/devel/py-funcparserlib/PLIST
diff -r0 -r1.1.1.1 pkgsrc/devel/py-funcparserlib/DESCR
diff -r0 -r1.1.1.1 pkgsrc/devel/py-funcparserlib/distinfo

File Added: pkgsrc/devel/py-funcparserlib/Makefile
# $NetBSD: Makefile,v 1.1.1.1 2011/07/15 13:34:02 obache Exp $
#

DISTNAME=	funcparserlib-0.3.5
PKGNAME=	${PYPKGPREFIX}-${DISTNAME}
CATEGORIES=	devel
MASTER_SITES=	http://pypi.python.org/packages/source/f/funcparserlib/

MAINTAINER=	obache@NetBSD.org
HOMEPAGE=	http://code.google.com/p/funcparserlib/
COMMENT=	Recursive descent parsing library based on functional combinators
LICENSE=	mit

PKG_DESTDIR_SUPPORT=	user-destdir

USE_LANGUAGES=	# none

.include "../../lang/python/distutils.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/devel/py-funcparserlib/PLIST
@comment $NetBSD: PLIST,v 1.1.1.1 2011/07/15 13:34:02 obache Exp $
${PLIST.eggfile}${PYSITELIB}/${EGG_FILE}
${PYSITELIB}/funcparserlib/__init__.py
${PYSITELIB}/funcparserlib/__init__.pyc
${PYSITELIB}/funcparserlib/__init__.pyo
${PYSITELIB}/funcparserlib/lexer.py
${PYSITELIB}/funcparserlib/lexer.pyc
${PYSITELIB}/funcparserlib/lexer.pyo
${PYSITELIB}/funcparserlib/parser.py
${PYSITELIB}/funcparserlib/parser.pyc
${PYSITELIB}/funcparserlib/parser.pyo
${PYSITELIB}/funcparserlib/util.py
${PYSITELIB}/funcparserlib/util.pyc
${PYSITELIB}/funcparserlib/util.pyo

File Added: pkgsrc/devel/py-funcparserlib/DESCR
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.

File Added: pkgsrc/devel/py-funcparserlib/distinfo
$NetBSD: distinfo,v 1.1.1.1 2011/07/15 13:34:02 obache Exp $

SHA1 (funcparserlib-0.3.5.tar.gz) = 030a0689f5e7111ede49491f51e90fa641711fae
RMD160 (funcparserlib-0.3.5.tar.gz) = 598f16e4a4a3b57c311898912b6e26058182c91e
Size (funcparserlib-0.3.5.tar.gz) = 33117 bytes