aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShapovalov Alexey <aishapoval@mts.ru>2024-07-05 06:44:24 +0000
committerGleb Popov <arrowd@FreeBSD.org>2024-08-17 20:44:41 +0000
commit37457c216be0862266bdf50275f9a77f8201d824 (patch)
tree1cb1392974e99b6ab3c6692b9b2b64a6e5e9f900
parent08f59eabad728c48fc8e32d58d763a57447d2fb0 (diff)
lang/py-sly: Python implementation of the lex and yacc tools
Sponsored by: Serenity Cybersecurity, LLC Co-authored-by: Gleb Popov <arrowd@FreeBSD.org>
-rw-r--r--lang/Makefile1
-rwxr-xr-xlang/py-sly/Makefile21
-rwxr-xr-xlang/py-sly/distinfo3
-rwxr-xr-xlang/py-sly/pkg-descr14
4 files changed, 39 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile
index e6e8d28a4eb1..b57b3d5a6d14 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -295,6 +295,7 @@
SUBDIR += py-dhall
SUBDIR += py-hy
SUBDIR += py-lupa
+ SUBDIR += py-sly
SUBDIR += py-textX
SUBDIR += python
SUBDIR += python-doc-html
diff --git a/lang/py-sly/Makefile b/lang/py-sly/Makefile
new file mode 100755
index 000000000000..2183db6eddbd
--- /dev/null
+++ b/lang/py-sly/Makefile
@@ -0,0 +1,21 @@
+PORTNAME= sly
+PORTVERSION= 0.5
+CATEGORIES= lang python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= awoonyaa@gmail.com
+COMMENT= Python implementation of the lex & yacc tools
+WWW= https://pypi.org/project/sly/
+
+LICENSE= MIT
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/lang/py-sly/distinfo b/lang/py-sly/distinfo
new file mode 100755
index 000000000000..854e4d46bdbd
--- /dev/null
+++ b/lang/py-sly/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1703100021
+SHA256 (sly-0.5.tar.gz) = 251d42015e8507158aec2164f06035df4a82b0314ce6450f457d7125e7649024
+SIZE (sly-0.5.tar.gz) = 66702
diff --git a/lang/py-sly/pkg-descr b/lang/py-sly/pkg-descr
new file mode 100755
index 000000000000..0bdfac44b337
--- /dev/null
+++ b/lang/py-sly/pkg-descr
@@ -0,0 +1,14 @@
+SLY is a 100% Python implementation of the lex and yacc tools commonly used to
+write parsers and compilers. Parsing is based on the same LALR(1) algorithm
+used by many yacc tools.
+
+SLY provides very extensive error reporting and diagnostic information
+to assist in parser construction. The original implementation was
+developed for instructional purposes. As a result, the system tries to
+identify the most common types of errors made by novice users.
+
+SLY provides full support for empty productions, error recovery,
+precedence specifiers, and moderately ambiguous grammars.
+
+SLY uses various Python metaprogramming features to specify lexers and
+parsers. There are no generated files or extra steps involved.