devel/py-grako - The NetBSD Packages Collection

Grammar compiler

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.

Build dependencies

devel/py-test-runner pkgtools/cwrappers

Runtime dependencies

devel/py-setuptools devel/py-cython lang/python38 lang/python38

Binary packages

OSArchitectureVersion
NetBSD 8.0earmv7hfpy27-grako-3.99.9.tgz
NetBSD 8.0earmv7hfpy36-grako-3.99.9.tgz
NetBSD 8.0earmv7hfpy37-grako-3.99.9.tgz
NetBSD 8.0earmv7hfpy38-grako-3.99.9.tgz
NetBSD 8.0earmv7hfpy39-grako-3.99.9.tgz
NetBSD 8.0earmv7hfpy37-grako-3.99.9.tgz
NetBSD 8.0earmv7hfpy27-grako-3.99.9.tgz
NetBSD 8.0earmv7hfpy36-grako-3.99.9.tgz
NetBSD 8.0earmv7hfpy37-grako-3.99.9.tgz
NetBSD 8.0earmv7hfpy38-grako-3.99.9.tgz
NetBSD 8.0earmv7hfpy39-grako-3.99.9.tgz
NetBSD 8.0i386py27-grako-3.99.9.tgz
NetBSD 8.0i386py36-grako-3.99.9.tgz
NetBSD 8.0i386py37-grako-3.99.9.tgz
NetBSD 8.0i386py38-grako-3.99.9.tgz
NetBSD 8.0i386py27-grako-3.99.9.tgz
NetBSD 8.0i386py36-grako-3.99.9.tgz
NetBSD 8.0i386py37-grako-3.99.9.tgz
NetBSD 8.0i386py38-grako-3.99.9.tgz
NetBSD 8.0i386py39-grako-3.99.9.tgz
NetBSD 8.0i386py27-grako-3.99.9.tgz
NetBSD 8.0i386py36-grako-3.99.9.tgz
NetBSD 8.0i386py37-grako-3.99.9.tgz
NetBSD 8.0i386py38-grako-3.99.9.tgz
NetBSD 8.0i386py39-grako-3.99.9.tgz
NetBSD 8.0powerpcpy27-grako-3.99.9.tgz
NetBSD 8.0powerpcpy36-grako-3.99.9.tgz
NetBSD 8.0powerpcpy37-grako-3.99.9.tgz
NetBSD 8.0powerpcpy38-grako-3.99.9.tgz
NetBSD 8.0powerpcpy27-grako-3.99.9.tgz
NetBSD 8.0powerpcpy36-grako-3.99.9.tgz
NetBSD 8.0powerpcpy37-grako-3.99.9.tgz
NetBSD 8.0powerpcpy38-grako-3.99.9.tgz
NetBSD 8.0powerpcpy39-grako-3.99.9.tgz
NetBSD 8.0powerpcpy27-grako-3.99.9.tgz
NetBSD 8.0powerpcpy36-grako-3.99.9.tgz
NetBSD 8.0powerpcpy37-grako-3.99.9.tgz
NetBSD 8.0powerpcpy38-grako-3.99.9.tgz
NetBSD 8.0powerpcpy39-grako-3.99.9.tgz
NetBSD 8.0x86_64py27-grako-3.99.9.tgz
NetBSD 8.0x86_64py36-grako-3.99.9.tgz
NetBSD 8.0x86_64py37-grako-3.99.9.tgz
NetBSD 8.0x86_64py38-grako-3.99.9.tgz
NetBSD 8.0x86_64py27-grako-3.99.9.tgz
NetBSD 8.0x86_64py36-grako-3.99.9.tgz
NetBSD 8.0x86_64py37-grako-3.99.9.tgz
NetBSD 8.0x86_64py38-grako-3.99.9.tgz
NetBSD 8.0x86_64py39-grako-3.99.9.tgz
NetBSD 9.0aarch64py27-grako-3.99.9.tgz
NetBSD 9.0aarch64py36-grako-3.99.9.tgz
NetBSD 9.0aarch64py37-grako-3.99.9.tgz
NetBSD 9.0aarch64py38-grako-3.99.9.tgz
NetBSD 9.0aarch64py39-grako-3.99.9.tgz
NetBSD 9.0aarch64py27-grako-3.99.9.tgz
NetBSD 9.0aarch64py36-grako-3.99.9.tgz
NetBSD 9.0aarch64py37-grako-3.99.9.tgz
NetBSD 9.0aarch64py38-grako-3.99.9.tgz
NetBSD 9.0aarch64py27-grako-3.99.9.tgz
NetBSD 9.0aarch64py36-grako-3.99.9.tgz
NetBSD 9.0aarch64py37-grako-3.99.9.tgz
NetBSD 9.0aarch64py38-grako-3.99.9.tgz
NetBSD 9.0aarch64py39-grako-3.99.9.tgz
NetBSD 9.0alphapy27-grako-3.99.9.tgz
NetBSD 9.0alphapy36-grako-3.99.9.tgz
NetBSD 9.0alphapy37-grako-3.99.9.tgz
NetBSD 9.0alphapy38-grako-3.99.9.tgz
NetBSD 9.0alphapy39-grako-3.99.9.tgz
NetBSD 9.0alphapy27-grako-3.99.9.tgz
NetBSD 9.0alphapy36-grako-3.99.9.tgz
NetBSD 9.0alphapy37-grako-3.99.9.tgz
NetBSD 9.0alphapy38-grako-3.99.9.tgz
NetBSD 9.0alphapy27-grako-3.99.9.tgz
NetBSD 9.0alphapy36-grako-3.99.9.tgz
NetBSD 9.0alphapy37-grako-3.99.9.tgz
NetBSD 9.0alphapy38-grako-3.99.9.tgz
NetBSD 9.0alphapy39-grako-3.99.9.tgz
NetBSD 9.0earmpy27-grako-3.99.9.tgz
NetBSD 9.0earmpy36-grako-3.99.9.tgz
NetBSD 9.0earmpy37-grako-3.99.9.tgz
NetBSD 9.0earmpy38-grako-3.99.9.tgz
NetBSD 9.0earmpy36-grako-3.99.9.tgz
NetBSD 9.0earmpy37-grako-3.99.9.tgz
NetBSD 9.0earmpy38-grako-3.99.9.tgz
NetBSD 9.0earmpy39-grako-3.99.9.tgz
NetBSD 9.0earmpy36-grako-3.99.9.tgz
NetBSD 9.0earmpy37-grako-3.99.9.tgz
NetBSD 9.0earmpy38-grako-3.99.9.tgz
NetBSD 9.0earmpy39-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy27-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy36-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy37-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy38-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy39-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy27-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy36-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy37-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy38-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy27-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy36-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy37-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy38-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy39-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy27-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy36-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy37-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy38-grako-3.99.9.tgz
NetBSD 9.0earmv6hfpy39-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy27-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy36-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy37-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy38-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy39-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy27-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy36-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy37-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy38-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy27-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy36-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy37-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy38-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy39-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy27-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy36-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy37-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy38-grako-3.99.9.tgz
NetBSD 9.0earmv7hfpy39-grako-3.99.9.tgz
NetBSD 9.0i386py27-grako-3.99.9.tgz
NetBSD 9.0i386py36-grako-3.99.9.tgz
NetBSD 9.0i386py37-grako-3.99.9.tgz
NetBSD 9.0i386py38-grako-3.99.9.tgz
NetBSD 9.0i386py27-grako-3.99.9.tgz
NetBSD 9.0i386py36-grako-3.99.9.tgz
NetBSD 9.0i386py37-grako-3.99.9.tgz
NetBSD 9.0i386py38-grako-3.99.9.tgz
NetBSD 9.0i386py39-grako-3.99.9.tgz
NetBSD 9.0i386py27-grako-3.99.9.tgz
NetBSD 9.0i386py36-grako-3.99.9.tgz
NetBSD 9.0i386py37-grako-3.99.9.tgz
NetBSD 9.0i386py38-grako-3.99.9.tgz
NetBSD 9.0i386py39-grako-3.99.9.tgz
NetBSD 9.0mips64ebpy27-grako-3.99.9.tgz
NetBSD 9.0mips64ebpy36-grako-3.99.9.tgz
NetBSD 9.0mips64ebpy37-grako-3.99.9.tgz
NetBSD 9.0mips64ebpy38-grako-3.99.9.tgz
NetBSD 9.0mips64ebpy39-grako-3.99.9.tgz
NetBSD 9.0mips64ebpy27-grako-3.99.9.tgz
NetBSD 9.0mips64ebpy36-grako-3.99.9.tgz
NetBSD 9.0mips64ebpy37-grako-3.99.9.tgz
NetBSD 9.0mips64ebpy38-grako-3.99.9.tgz
NetBSD 9.0mips64ebpy27-grako-3.99.9.tgz
NetBSD 9.0mips64ebpy36-grako-3.99.9.tgz
NetBSD 9.0mips64ebpy37-grako-3.99.9.tgz
NetBSD 9.0mips64ebpy38-grako-3.99.9.tgz
NetBSD 9.0mips64ebpy39-grako-3.99.9.tgz
NetBSD 9.0mipselpy27-grako-3.99.9.tgz
NetBSD 9.0mipselpy36-grako-3.99.9.tgz
NetBSD 9.0mipselpy37-grako-3.99.9.tgz
NetBSD 9.0mipselpy38-grako-3.99.9.tgz
NetBSD 9.0mipselpy39-grako-3.99.9.tgz
NetBSD 9.0mipselpy27-grako-3.99.9.tgz
NetBSD 9.0mipselpy36-grako-3.99.9.tgz
NetBSD 9.0mipselpy37-grako-3.99.9.tgz
NetBSD 9.0mipselpy38-grako-3.99.9.tgz
NetBSD 9.0mipselpy39-grako-3.99.9.tgz
NetBSD 9.0powerpcpy27-grako-3.99.9.tgz
NetBSD 9.0powerpcpy36-grako-3.99.9.tgz
NetBSD 9.0powerpcpy37-grako-3.99.9.tgz
NetBSD 9.0powerpcpy38-grako-3.99.9.tgz
NetBSD 9.0powerpcpy39-grako-3.99.9.tgz
NetBSD 9.0powerpcpy27-grako-3.99.9.tgz
NetBSD 9.0powerpcpy36-grako-3.99.9.tgz
NetBSD 9.0powerpcpy37-grako-3.99.9.tgz
NetBSD 9.0powerpcpy38-grako-3.99.9.tgz
NetBSD 9.0sh3elpy27-grako-3.99.9.tgz
NetBSD 9.0sh3elpy36-grako-3.99.9.tgz
NetBSD 9.0sh3elpy37-grako-3.99.9.tgz
NetBSD 9.0sh3elpy38-grako-3.99.9.tgz
NetBSD 9.0sh3elpy39-grako-3.99.9.tgz
NetBSD 9.0sh3elpy27-grako-3.99.9.tgz
NetBSD 9.0sh3elpy36-grako-3.99.9.tgz
NetBSD 9.0sh3elpy37-grako-3.99.9.tgz
NetBSD 9.0sh3elpy38-grako-3.99.9.tgz
NetBSD 9.0sh3elpy39-grako-3.99.9.tgz
NetBSD 9.0sparc64py27-grako-3.99.9.tgz
NetBSD 9.0sparc64py36-grako-3.99.9.tgz
NetBSD 9.0sparc64py37-grako-3.99.9.tgz
NetBSD 9.0sparc64py38-grako-3.99.9.tgz
NetBSD 9.0sparc64py39-grako-3.99.9.tgz
NetBSD 9.0sparc64py27-grako-3.99.9.tgz
NetBSD 9.0sparc64py36-grako-3.99.9.tgz
NetBSD 9.0sparc64py37-grako-3.99.9.tgz
NetBSD 9.0sparc64py38-grako-3.99.9.tgz
NetBSD 9.0sparc64py27-grako-3.99.9.tgz
NetBSD 9.0sparc64py36-grako-3.99.9.tgz
NetBSD 9.0sparc64py37-grako-3.99.9.tgz
NetBSD 9.0sparc64py38-grako-3.99.9.tgz
NetBSD 9.0sparc64py27-grako-3.99.9.tgz
NetBSD 9.0sparc64py36-grako-3.99.9.tgz
NetBSD 9.0sparc64py37-grako-3.99.9.tgz
NetBSD 9.0sparc64py38-grako-3.99.9.tgz
NetBSD 9.0sparc64py39-grako-3.99.9.tgz
NetBSD 9.0sparcpy27-grako-3.99.9.tgz
NetBSD 9.0sparcpy36-grako-3.99.9.tgz
NetBSD 9.0sparcpy37-grako-3.99.9.tgz
NetBSD 9.0sparcpy38-grako-3.99.9.tgz
NetBSD 9.0sparcpy39-grako-3.99.9.tgz
NetBSD 9.0sparcpy27-grako-3.99.9.tgz
NetBSD 9.0sparcpy36-grako-3.99.9.tgz
NetBSD 9.0sparcpy37-grako-3.99.9.tgz
NetBSD 9.0sparcpy38-grako-3.99.9.tgz
NetBSD 9.0sparcpy27-grako-3.99.9.tgz
NetBSD 9.0sparcpy36-grako-3.99.9.tgz
NetBSD 9.0sparcpy37-grako-3.99.9.tgz
NetBSD 9.0sparcpy38-grako-3.99.9.tgz
NetBSD 9.0sparcpy39-grako-3.99.9.tgz
NetBSD 9.0x86_64py27-grako-3.99.9.tgz
NetBSD 9.0x86_64py36-grako-3.99.9.tgz
NetBSD 9.0x86_64py37-grako-3.99.9.tgz
NetBSD 9.0x86_64py38-grako-3.99.9.tgz
NetBSD 9.0x86_64py39-grako-3.99.9.tgz
NetBSD 9.0x86_64py27-grako-3.99.9.tgz
NetBSD 9.0x86_64py36-grako-3.99.9.tgz
NetBSD 9.0x86_64py37-grako-3.99.9.tgz
NetBSD 9.0x86_64py38-grako-3.99.9.tgz
NetBSD 9.0x86_64py39-grako-3.99.9.tgz
NetBSD 9.0x86_64py27-grako-3.99.9.tgz
NetBSD 9.0x86_64py36-grako-3.99.9.tgz
NetBSD 9.0x86_64py37-grako-3.99.9.tgz
NetBSD 9.0x86_64py38-grako-3.99.9.tgz
NetBSD 9.0x86_64py39-grako-3.99.9.tgz
NetBSD 9.0x86_64py27-grako-3.99.9.tgz
NetBSD 9.0x86_64py36-grako-3.99.9.tgz
NetBSD 9.0x86_64py37-grako-3.99.9.tgz
NetBSD 9.0x86_64py38-grako-3.99.9.tgz
NetBSD 9.0x86_64py39-grako-3.99.9.tgz
NetBSD 9.0x86_64py27-grako-3.99.9.tgz
NetBSD 9.0x86_64py36-grako-3.99.9.tgz
NetBSD 9.0x86_64py37-grako-3.99.9.tgz
NetBSD 9.0x86_64py38-grako-3.99.9.tgz
NetBSD 9.0x86_64py27-grako-3.99.9.tgz
NetBSD 9.0x86_64py36-grako-3.99.9.tgz
NetBSD 9.0x86_64py37-grako-3.99.9.tgz
NetBSD 9.0x86_64py38-grako-3.99.9.tgz
NetBSD 9.0x86_64py39-grako-3.99.9.tgz
NetBSD 9.0x86_64py27-grako-3.99.9.tgz
NetBSD 9.0x86_64py36-grako-3.99.9.tgz
NetBSD 9.0x86_64py37-grako-3.99.9.tgz
NetBSD 9.0x86_64py38-grako-3.99.9.tgz
NetBSD 9.0x86_64py39-grako-3.99.9.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

Available build options

(none)

Known vulnerabilities

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.


Problem reports, updates or suggestions for this package should be reported with send-pr.