pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel/py-grako
Module Name: pkgsrc
Committed By: adam
Date: Thu Jun 1 12:04:38 UTC 2017
Added Files:
pkgsrc/devel/py-grako: ALTERNATIVES DESCR Makefile PLIST distinfo
Log Message:
Grako (for grammar compiler) is a tool that takes grammars in a variation of
EBNF as input, and outputs memoizing (Packrat) PEG parsers in Python.
Grako can also compile a grammar stored in a string into a Grammar object that
can be used to parse any given input, much like the re module does with
regular expressions.
Grako is different from other PEG parser generators:
* Generated parsers use Python's very efficient exception-handling system to
backtrack. Grako generated parsers simply assert what must be parsed. There
are no complicated if-then-else sequences for decision making or
backtracking. Memoization allows going over the same input sequence several
times in linear time.
* Positive and negative lookaheads, and the cut element (with its cleaning of
the memoization cache) allow for additional, hand-crafted optimizations at
the grammar level.
* Delegation to Python's re module for lexemes allows for (Perl-like) powerful
and efficient lexical analysis.
* The use of Python's context managers considerably reduces the size of the
generated parsers for code clarity, and enhanced CPU-cache hits.
* Include files, rule inheritance, and rule inclusion give Grako grammars
considerable expressive power.
* Automatic generation of Abstract Syntax Trees and Object Models, along with
Model Walkers and Code Generators make analysis and translation approachable.
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/devel/py-grako/ALTERNATIVES \
pkgsrc/devel/py-grako/DESCR pkgsrc/devel/py-grako/Makefile \
pkgsrc/devel/py-grako/PLIST pkgsrc/devel/py-grako/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Added files:
Index: pkgsrc/devel/py-grako/ALTERNATIVES
diff -u /dev/null pkgsrc/devel/py-grako/ALTERNATIVES:1.1
--- /dev/null Thu Jun 1 12:04:38 2017
+++ pkgsrc/devel/py-grako/ALTERNATIVES Thu Jun 1 12:04:38 2017
@@ -0,0 +1 @@
+bin/slicer @PREFIX@/bin/slicer@PYVERSSUFFIX@
Index: pkgsrc/devel/py-grako/DESCR
diff -u /dev/null pkgsrc/devel/py-grako/DESCR:1.1
--- /dev/null Thu Jun 1 12:04:38 2017
+++ pkgsrc/devel/py-grako/DESCR Thu Jun 1 12:04:38 2017
@@ -0,0 +1,24 @@
+Grako (for grammar compiler) is a tool that takes grammars in a variation of
+EBNF as input, and outputs memoizing (Packrat) PEG parsers in Python.
+
+Grako can also compile a grammar stored in a string into a Grammar object that
+can be used to parse any given input, much like the re module does with
+regular expressions.
+
+Grako is different from other PEG parser generators:
+* Generated parsers use Python's very efficient exception-handling system to
+ backtrack. Grako generated parsers simply assert what must be parsed. There
+ are no complicated if-then-else sequences for decision making or
+ backtracking. Memoization allows going over the same input sequence several
+ times in linear time.
+* Positive and negative lookaheads, and the cut element (with its cleaning of
+ the memoization cache) allow for additional, hand-crafted optimizations at
+ the grammar level.
+* Delegation to Python's re module for lexemes allows for (Perl-like) powerful
+ and efficient lexical analysis.
+* The use of Python's context managers considerably reduces the size of the
+ generated parsers for code clarity, and enhanced CPU-cache hits.
+* Include files, rule inheritance, and rule inclusion give Grako grammars
+ considerable expressive power.
+* Automatic generation of Abstract Syntax Trees and Object Models, along with
+ Model Walkers and Code Generators make analysis and translation approachable.
Index: pkgsrc/devel/py-grako/Makefile
diff -u /dev/null pkgsrc/devel/py-grako/Makefile:1.1
--- /dev/null Thu Jun 1 12:04:38 2017
+++ pkgsrc/devel/py-grako/Makefile Thu Jun 1 12:04:38 2017
@@ -0,0 +1,21 @@
+# $NetBSD: Makefile,v 1.1 2017/06/01 12:04:38 adam Exp $
+
+DISTNAME= grako-3.99.9
+PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
+CATEGORIES= devel python
+MASTER_SITES= ${MASTER_SITE_PYPI:=g/grako/}
+EXTRACT_SUFX= .zip
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://bitbucket.org/neogeny/grako/
+COMMENT= Grammar compiler
+LICENSE= modified-bsd
+
+USE_LANGUAGES= c
+
+post-install:
+ cd ${DESTDIR}${PREFIX}/bin && mv grako grako${PYVERSSUFFIX} || ${TRUE}
+
+.include "../../devel/py-cython/buildlink3.mk"
+.include "../../lang/python/egg.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/devel/py-grako/PLIST
diff -u /dev/null pkgsrc/devel/py-grako/PLIST:1.1
--- /dev/null Thu Jun 1 12:04:38 2017
+++ pkgsrc/devel/py-grako/PLIST Thu Jun 1 12:04:38 2017
@@ -0,0 +1,209 @@
+@comment $NetBSD: PLIST,v 1.1 2017/06/01 12:04:38 adam Exp $
+bin/grako${PYVERSSUFFIX}
+${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
+${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
+${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
+${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
+${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
+${PYSITELIB}/${EGG_INFODIR}/requires.txt
+${PYSITELIB}/${EGG_INFODIR}/top_level.txt
+${PYSITELIB}/grako/__init__.py
+${PYSITELIB}/grako/__init__.pyc
+${PYSITELIB}/grako/__init__.pyo
+${PYSITELIB}/grako/__main__.py
+${PYSITELIB}/grako/__main__.pyc
+${PYSITELIB}/grako/__main__.pyo
+${PYSITELIB}/grako/_config.py
+${PYSITELIB}/grako/_config.pyc
+${PYSITELIB}/grako/_config.pyo
+${PYSITELIB}/grako/_config.so
+${PYSITELIB}/grako/_unicode_characters.py
+${PYSITELIB}/grako/_unicode_characters.pyc
+${PYSITELIB}/grako/_unicode_characters.pyo
+${PYSITELIB}/grako/_unicode_characters.so
+${PYSITELIB}/grako/_version.py
+${PYSITELIB}/grako/_version.pyc
+${PYSITELIB}/grako/_version.pyo
+${PYSITELIB}/grako/_version.so
+${PYSITELIB}/grako/ast.py
+${PYSITELIB}/grako/ast.pyc
+${PYSITELIB}/grako/ast.pyo
+${PYSITELIB}/grako/ast.so
+${PYSITELIB}/grako/bootstrap.py
+${PYSITELIB}/grako/bootstrap.pyc
+${PYSITELIB}/grako/bootstrap.pyo
+${PYSITELIB}/grako/bootstrap.so
+${PYSITELIB}/grako/buffering.py
+${PYSITELIB}/grako/buffering.pyc
+${PYSITELIB}/grako/buffering.pyo
+${PYSITELIB}/grako/buffering.so
+${PYSITELIB}/grako/codegen/__init__.py
+${PYSITELIB}/grako/codegen/__init__.pyc
+${PYSITELIB}/grako/codegen/__init__.pyo
+${PYSITELIB}/grako/codegen/cgbase.py
+${PYSITELIB}/grako/codegen/cgbase.pyc
+${PYSITELIB}/grako/codegen/cgbase.pyo
+${PYSITELIB}/grako/codegen/cgbase.so
+${PYSITELIB}/grako/codegen/objectmodel.py
+${PYSITELIB}/grako/codegen/objectmodel.pyc
+${PYSITELIB}/grako/codegen/objectmodel.pyo
+${PYSITELIB}/grako/codegen/objectmodel.so
+${PYSITELIB}/grako/codegen/python.py
+${PYSITELIB}/grako/codegen/python.pyc
+${PYSITELIB}/grako/codegen/python.pyo
+${PYSITELIB}/grako/codegen/python.so
+${PYSITELIB}/grako/color.py
+${PYSITELIB}/grako/color.pyc
+${PYSITELIB}/grako/color.pyo
+${PYSITELIB}/grako/color.so
+${PYSITELIB}/grako/containers.py
+${PYSITELIB}/grako/containers.pyc
+${PYSITELIB}/grako/containers.pyo
+${PYSITELIB}/grako/containers.so
+${PYSITELIB}/grako/contexts.py
+${PYSITELIB}/grako/contexts.pyc
+${PYSITELIB}/grako/contexts.pyo
+${PYSITELIB}/grako/contexts.so
+${PYSITELIB}/grako/diagrams.py
+${PYSITELIB}/grako/diagrams.pyc
+${PYSITELIB}/grako/diagrams.pyo
+${PYSITELIB}/grako/diagrams.so
+${PYSITELIB}/grako/exceptions.py
+${PYSITELIB}/grako/exceptions.pyc
+${PYSITELIB}/grako/exceptions.pyo
+${PYSITELIB}/grako/exceptions.so
+${PYSITELIB}/grako/grammars.py
+${PYSITELIB}/grako/grammars.pyc
+${PYSITELIB}/grako/grammars.pyo
+${PYSITELIB}/grako/grammars.so
+${PYSITELIB}/grako/infos.py
+${PYSITELIB}/grako/infos.pyc
+${PYSITELIB}/grako/infos.pyo
+${PYSITELIB}/grako/infos.so
+${PYSITELIB}/grako/model.py
+${PYSITELIB}/grako/model.pyc
+${PYSITELIB}/grako/model.pyo
+${PYSITELIB}/grako/model.so
+${PYSITELIB}/grako/objectmodel.py
+${PYSITELIB}/grako/objectmodel.pyc
+${PYSITELIB}/grako/objectmodel.pyo
+${PYSITELIB}/grako/objectmodel.so
+${PYSITELIB}/grako/parser.py
+${PYSITELIB}/grako/parser.pyc
+${PYSITELIB}/grako/parser.pyo
+${PYSITELIB}/grako/parser.so
+${PYSITELIB}/grako/parsing.py
+${PYSITELIB}/grako/parsing.pyc
+${PYSITELIB}/grako/parsing.pyo
+${PYSITELIB}/grako/parsing.so
+${PYSITELIB}/grako/rendering.py
+${PYSITELIB}/grako/rendering.pyc
+${PYSITELIB}/grako/rendering.pyo
+${PYSITELIB}/grako/rendering.so
+${PYSITELIB}/grako/semantics.py
+${PYSITELIB}/grako/semantics.pyc
+${PYSITELIB}/grako/semantics.pyo
+${PYSITELIB}/grako/semantics.so
+${PYSITELIB}/grako/symtables.py
+${PYSITELIB}/grako/symtables.pyc
+${PYSITELIB}/grako/symtables.pyo
+${PYSITELIB}/grako/symtables.so
+${PYSITELIB}/grako/synth.py
+${PYSITELIB}/grako/synth.pyc
+${PYSITELIB}/grako/synth.pyo
+${PYSITELIB}/grako/synth.so
+${PYSITELIB}/grako/test/__init__.py
+${PYSITELIB}/grako/test/__init__.pyc
+${PYSITELIB}/grako/test/__init__.pyo
+${PYSITELIB}/grako/test/__main__.py
+${PYSITELIB}/grako/test/__main__.pyc
+${PYSITELIB}/grako/test/__main__.pyo
+${PYSITELIB}/grako/test/ast_test.py
+${PYSITELIB}/grako/test/ast_test.pyc
+${PYSITELIB}/grako/test/ast_test.pyo
+${PYSITELIB}/grako/test/buffering_test.py
+${PYSITELIB}/grako/test/buffering_test.pyc
+${PYSITELIB}/grako/test/buffering_test.pyo
+${PYSITELIB}/grako/test/codegen_test.py
+${PYSITELIB}/grako/test/codegen_test.pyc
+${PYSITELIB}/grako/test/codegen_test.pyo
+${PYSITELIB}/grako/test/diagram_test.py
+${PYSITELIB}/grako/test/diagram_test.pyc
+${PYSITELIB}/grako/test/diagram_test.pyo
+${PYSITELIB}/grako/test/grammar/__init__.py
+${PYSITELIB}/grako/test/grammar/__init__.pyc
+${PYSITELIB}/grako/test/grammar/__init__.pyo
+${PYSITELIB}/grako/test/grammar/__init__.so
+${PYSITELIB}/grako/test/grammar/directive_test.py
+${PYSITELIB}/grako/test/grammar/directive_test.pyc
+${PYSITELIB}/grako/test/grammar/directive_test.pyo
+${PYSITELIB}/grako/test/grammar/directive_test.so
+${PYSITELIB}/grako/test/grammar/join_test.py
+${PYSITELIB}/grako/test/grammar/join_test.pyc
+${PYSITELIB}/grako/test/grammar/join_test.pyo
+${PYSITELIB}/grako/test/grammar/join_test.so
+${PYSITELIB}/grako/test/grammar/keyword_test.py
+${PYSITELIB}/grako/test/grammar/keyword_test.pyc
+${PYSITELIB}/grako/test/grammar/keyword_test.pyo
+${PYSITELIB}/grako/test/grammar/keyword_test.so
+${PYSITELIB}/grako/test/grammar/left_recursion_test.py
+${PYSITELIB}/grako/test/grammar/left_recursion_test.pyc
+${PYSITELIB}/grako/test/grammar/left_recursion_test.pyo
+${PYSITELIB}/grako/test/grammar/left_recursion_test.so
+${PYSITELIB}/grako/test/grammar/parameter_test.py
+${PYSITELIB}/grako/test/grammar/parameter_test.pyc
+${PYSITELIB}/grako/test/grammar/parameter_test.pyo
+${PYSITELIB}/grako/test/grammar/parameter_test.so
+${PYSITELIB}/grako/test/grammar/pattern_test.py
+${PYSITELIB}/grako/test/grammar/pattern_test.pyc
+${PYSITELIB}/grako/test/grammar/pattern_test.pyo
+${PYSITELIB}/grako/test/grammar/pattern_test.so
+${PYSITELIB}/grako/test/grammar/pretty_test.py
+${PYSITELIB}/grako/test/grammar/pretty_test.pyc
+${PYSITELIB}/grako/test/grammar/pretty_test.pyo
+${PYSITELIB}/grako/test/grammar/pretty_test.so
+${PYSITELIB}/grako/test/grammar/semantics_test.py
+${PYSITELIB}/grako/test/grammar/semantics_test.pyc
+${PYSITELIB}/grako/test/grammar/semantics_test.pyo
+${PYSITELIB}/grako/test/grammar/semantics_test.so
+${PYSITELIB}/grako/test/grammar/stateful_test.py
+${PYSITELIB}/grako/test/grammar/stateful_test.pyc
+${PYSITELIB}/grako/test/grammar/stateful_test.pyo
+${PYSITELIB}/grako/test/grammar/stateful_test.so
+${PYSITELIB}/grako/test/grammar/syntax_test.py
+${PYSITELIB}/grako/test/grammar/syntax_test.pyc
+${PYSITELIB}/grako/test/grammar/syntax_test.pyo
+${PYSITELIB}/grako/test/grammar/syntax_test.so
+${PYSITELIB}/grako/test/model_test.py
+${PYSITELIB}/grako/test/model_test.pyc
+${PYSITELIB}/grako/test/model_test.pyo
+${PYSITELIB}/grako/test/parsing_test.py
+${PYSITELIB}/grako/test/parsing_test.pyc
+${PYSITELIB}/grako/test/parsing_test.pyo
+${PYSITELIB}/grako/test/pickle_test.py
+${PYSITELIB}/grako/test/pickle_test.pyc
+${PYSITELIB}/grako/test/pickle_test.pyo
+${PYSITELIB}/grako/test/zzz_bootstrap/__init__.py
+${PYSITELIB}/grako/test/zzz_bootstrap/__init__.pyc
+${PYSITELIB}/grako/test/zzz_bootstrap/__init__.pyo
+${PYSITELIB}/grako/test/zzz_bootstrap/__init__.so
+${PYSITELIB}/grako/test/zzz_bootstrap/bootstrap_test.py
+${PYSITELIB}/grako/test/zzz_bootstrap/bootstrap_test.pyc
+${PYSITELIB}/grako/test/zzz_bootstrap/bootstrap_test.pyo
+${PYSITELIB}/grako/test/zzz_bootstrap/bootstrap_test.so
+${PYSITELIB}/grako/tool.py
+${PYSITELIB}/grako/tool.pyc
+${PYSITELIB}/grako/tool.pyo
+${PYSITELIB}/grako/tool.so
+${PYSITELIB}/grako/util.py
+${PYSITELIB}/grako/util.pyc
+${PYSITELIB}/grako/util.pyo
+${PYSITELIB}/grako/util.so
+${PYSITELIB}/grako/walkers.py
+${PYSITELIB}/grako/walkers.pyc
+${PYSITELIB}/grako/walkers.pyo
+${PYSITELIB}/grako/walkers.so
+${PYSITELIB}/grako/yaml.py
+${PYSITELIB}/grako/yaml.pyc
+${PYSITELIB}/grako/yaml.pyo
+${PYSITELIB}/grako/yaml.so
Index: pkgsrc/devel/py-grako/distinfo
diff -u /dev/null pkgsrc/devel/py-grako/distinfo:1.1
--- /dev/null Thu Jun 1 12:04:38 2017
+++ pkgsrc/devel/py-grako/distinfo Thu Jun 1 12:04:38 2017
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2017/06/01 12:04:38 adam Exp $
+
+SHA1 (grako-3.99.9.zip) = b8751e9e40b8f51aae7316b80d2bed65e56ddbd4
+RMD160 (grako-3.99.9.zip) = 151edb61fd019d98734cf959b1ea28178fce3ba8
+SHA512 (grako-3.99.9.zip) = 1251a669cafc37021405f63005eab974fc1d9acab04f14ef16132411c1c36e540a3a092ae58a6ca5c3f46d3e040d2402cb287cc1fc56aa422eb5200555f29a74
+Size (grako-3.99.9.zip) = 159278 bytes
Home |
Main Index |
Thread Index |
Old Index