aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2024-08-04 16:44:03 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2024-08-04 17:13:51 +0000
commit4bf4bfecb807d7b0507137edc8550df1de6bebd4 (patch)
tree99a8e6e07f1ca9399366fb0e1b5b61d156074e95
parent67d28381d2eea5b55865462fb4499f70f67f4d35 (diff)
devel/py-spark-parser: Add py-spark-parser 1.8.9
This package uses Jay Earley's algorithm for parsing context free grammars, and comes with some generic Abstract Syntax Tree routines. There is also a prototype scanner which does its job by combining Python regular expressions. (SPARK stands for Scanning, Parsing, and Rewriting Kit. It is a poor name since it conflicts with a more popular package of the same name. In the future we will rename this.) The original version of this was written by John Aycock for his Ph.D thesis and was described in his 1998 paper: "Compiling Little Languages in Python" at the 7th International Python Conference. The current incarnation of this code is maintained (or not) by Rocky Bernstein. Note: Earley algorithm parsers are almost linear when given an LR grammar. These are grammars which are left-recursive.
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-spark-parser/Makefile24
-rw-r--r--devel/py-spark-parser/distinfo3
-rw-r--r--devel/py-spark-parser/pkg-descr15
4 files changed, 43 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index aaf67eb0b8ce..4d513891aa89 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5799,6 +5799,7 @@
SUBDIR += py-sniffio
SUBDIR += py-sortedcontainers
SUBDIR += py-sourcemap
+ SUBDIR += py-spark-parser
SUBDIR += py-sparse
SUBDIR += py-speaklater
SUBDIR += py-speg
diff --git a/devel/py-spark-parser/Makefile b/devel/py-spark-parser/Makefile
new file mode 100644
index 000000000000..e0d4a700d4f9
--- /dev/null
+++ b/devel/py-spark-parser/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= spark-parser
+PORTVERSION= 1.8.9
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= spark_parser-${PORTVERSION}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Earley-Algorithm Context-free grammar Parser Toolkit
+WWW= https://github.com/rocky/python-spark
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>=0:devel/py-click@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-spark-parser/distinfo b/devel/py-spark-parser/distinfo
new file mode 100644
index 000000000000..319b545d3a09
--- /dev/null
+++ b/devel/py-spark-parser/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1722711123
+SHA256 (spark_parser-1.8.9.tar.gz) = a7bb97b97953fb8bf0cd8158d820b6467ef1e7f747738e82248ae4c824f1e25a
+SIZE (spark_parser-1.8.9.tar.gz) = 118345
diff --git a/devel/py-spark-parser/pkg-descr b/devel/py-spark-parser/pkg-descr
new file mode 100644
index 000000000000..d406a43f9320
--- /dev/null
+++ b/devel/py-spark-parser/pkg-descr
@@ -0,0 +1,15 @@
+This package uses Jay Earley's algorithm for parsing context free grammars, and
+comes with some generic Abstract Syntax Tree routines. There is also a prototype
+scanner which does its job by combining Python regular expressions.
+
+(SPARK stands for Scanning, Parsing, and Rewriting Kit. It is a poor name since
+it conflicts with a more popular package of the same name. In the future we will
+rename this.)
+
+The original version of this was written by John Aycock for his Ph.D thesis and
+was described in his 1998 paper: "Compiling Little Languages in Python" at the
+7th International Python Conference. The current incarnation of this code is
+maintained (or not) by Rocky Bernstein.
+
+Note: Earley algorithm parsers are almost linear when given an LR grammar. These
+are grammars which are left-recursive.