head	1.2;
access;
symbols
	pkgsrc-2021Q4:1.1.0.38
	pkgsrc-2021Q4-base:1.1
	pkgsrc-2021Q3:1.1.0.36
	pkgsrc-2021Q3-base:1.1
	pkgsrc-2021Q2:1.1.0.34
	pkgsrc-2021Q2-base:1.1
	pkgsrc-2021Q1:1.1.0.32
	pkgsrc-2021Q1-base:1.1
	pkgsrc-2020Q4:1.1.0.30
	pkgsrc-2020Q4-base:1.1
	pkgsrc-2020Q3:1.1.0.28
	pkgsrc-2020Q3-base:1.1
	pkgsrc-2020Q2:1.1.0.24
	pkgsrc-2020Q2-base:1.1
	pkgsrc-2020Q1:1.1.0.4
	pkgsrc-2020Q1-base:1.1
	pkgsrc-2019Q4:1.1.0.26
	pkgsrc-2019Q4-base:1.1
	pkgsrc-2019Q3:1.1.0.22
	pkgsrc-2019Q3-base:1.1
	pkgsrc-2019Q2:1.1.0.20
	pkgsrc-2019Q2-base:1.1
	pkgsrc-2019Q1:1.1.0.18
	pkgsrc-2019Q1-base:1.1
	pkgsrc-2018Q4:1.1.0.16
	pkgsrc-2018Q4-base:1.1
	pkgsrc-2018Q3:1.1.0.14
	pkgsrc-2018Q3-base:1.1
	pkgsrc-2018Q2:1.1.0.12
	pkgsrc-2018Q2-base:1.1
	pkgsrc-2018Q1:1.1.0.10
	pkgsrc-2018Q1-base:1.1
	pkgsrc-2017Q4:1.1.0.8
	pkgsrc-2017Q4-base:1.1
	pkgsrc-2017Q3:1.1.0.6
	pkgsrc-2017Q3-base:1.1
	pkgsrc-2017Q2:1.1.0.2
	pkgsrc-2017Q2-base:1.1;
locks; strict;
comment	@# @;


1.2
date	2022.01.14.09.32.43;	author wiz;	state dead;
branches;
next	1.1;
commitid	wJNDBcchzghnfAoD;

1.1
date	2017.06.01.12.04.38;	author adam;	state Exp;
branches;
next	;
commitid	1vwtrp0k1SvylFTz;


desc
@@


1.2
log
@py-grako: remove

Upstream development has stopped.
@
text
@@@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
@


1.1
log
@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.
@
text
@d1 1
a1 1
@@comment $NetBSD$
@

