[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#38554] [PATCH v2 2/3] gnu: Add python-funcparserlib.
From: |
Jesse Gibbons |
Subject: |
[bug#38554] [PATCH v2 2/3] gnu: Add python-funcparserlib. |
Date: |
Sat, 21 Dec 2019 10:14:21 -0700 |
User-agent: |
Evolution 3.32.4 |
* gnu/packages/python-xyz.scm (python-funcparserlib): New variable.
---
gnu/packages/python-xyz.scm | 49 +++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 9243272dc9..906bd9c8d2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16998,3 +16998,52 @@ load entry points more quickly.")
(define-public python2-fastentrypoints
(package-with-python2 python-fastentrypoints))
+
+(define-public python-funcparserlib
+ (package
+ (name "python-funcparserlib")
+ (version "0.3.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "funcparserlib" version))
+ (sha256
+ (base32
+ "07f9cgjr3h4j2m67fhwapn8fja87vazl58zsj4yppf9y3an2x6dp"))))
+ (native-inputs
+ `(("python-tox" ,python-tox)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "tox"))))))
+ (build-system python-build-system)
+ (home-page
+ "https://github.com/vlasovskikh/funcparserlib")
+ (synopsis
+ "Recursive descent parsing library based on functional combinators")
+ (description
+ "This package is a recurisve descent parsing library for Python 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:
+
+@itemize @bullet
+@item First-class values
+@item Extremely composable
+@item Tend to make the code quite compact
+@item Resemble the readable notation of xBNF grammars
+@end itemize
+
+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).")
+ (license license:expat)))
+
+(define-public python2-funcparserlib
+ (package-with-python2 python-funcparserlib))
- [bug#38554] [PATCH 2/5] Add python-funcparserlib, (continued)
- [bug#38554] [PATCH 2/5] Add python-funcparserlib, Jesse Gibbons, 2019/12/09
- [bug#38554] [PATCH 3/5] Update python-hy to 0.17.0, Jesse Gibbons, 2019/12/09
- [bug#38554] [PATCH 4/5] Add python2-fastentrypoints, Jesse Gibbons, 2019/12/09
- [bug#38554] [PATCH 5/5] Add python2-funcparserlib, Jesse Gibbons, 2019/12/09
- [bug#38554] [PATCH 0/5] Update python-hy to 0.17.0, Brett Gilio, 2019/12/09
- [bug#38554] [PATCH v2 1/3] gnu: Add python-fastentrypoints., Jesse Gibbons, 2019/12/21
- [bug#38554] [PATCH v2 2/3] gnu: Add python-funcparserlib.,
Jesse Gibbons <=
- [bug#38554] [PATCH v2 3/3] gnu: python-hy: Update to 0.17.0., Jesse Gibbons, 2019/12/21