Path to this page:
NOTICE: This package has been removed from pkgsrc./
devel/py-grako,
Grammar compiler
Branch: CURRENT,
Version: 3.99.9nb2,
Package name: py39-grako-3.99.9nb2,
Maintainer: pkgsrc-usersGrako (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.
Master sites:
Filesize: 155.545 KB
Version history: (Expand)
- (2022-01-15) Package deleted from pkgsrc
- (2022-01-05) Updated to version: py39-grako-3.99.9nb2
- (2022-01-05) Updated to version: py39-grako-3.99.9nb1
- (2021-10-07) Updated to version: py39-grako-3.99.9
- (2017-11-23) Package has been reborn
- (2017-06-01) Package added to pkgsrc.se, version py27-grako-3.99.9 (created)
CVS history: (Expand)
2022-01-05 16:41:32 by Thomas Klausner | Files touched by this commit (289) |
Log message:
python: egg.mk: add USE_PKG_RESOURCES flag
This flag should be set for packages that import pkg_resources
and thus need setuptools after the build step.
Set this flag for packages that need it and bump PKGREVISION.
|
2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595) |
Log message:
*: bump PKGREVISION for egg.mk users
They now have a tool dependency on py-setuptools instead of a DEPENDS
|
2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016) |
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Could not be committed due to merge conflict:
devel/py-traitlets/distinfo
The following distfiles were unfetchable (note: some may be only fetched
conditionally):
./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
|
2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017) |
Log message:
devel: Remove SHA1 hashes for distfiles
|
2017-06-17 21:37:39 by Joerg Sonnenberger | Files touched by this commit (1) |
Log message:
Use the build dependency I reported to actually fix the build.
|
2017-06-11 08:59:18 by Adam Ciarcinski | Files touched by this commit (1) |
Log message:
Added BUILD_DEPENDS for 'test' target
|
2017-06-01 14:04:38 by Adam Ciarcinski | Files touched by this commit (5) |
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.
|