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