pyg will be a PEG parser library formed as an internal Python DSL. it will be used in cramex, a copycat of cram with expect support.

The surface is heading to resemble Boost.Spirit: grammars are composed using a vaguely (xBNF/PEG)-like syntax enabled through operator overloading.

>>> from pyg import Rule, chr, int

>>> n = Rule('number') >>> o = Rule('operator') >>> e = Rule('expression')

>>> e %= n >> o >> n >>> o %= chr('+-') >>> n %= int

>>> e.matches('42 + 69') True, None >>> e.matches('69') True, None >>> e.matches('42 69') False, "Failed on line 1 column 3:\n42 69\n ^\n"

Looking for hackers with the skills:

python parsing peg

This project is part of:

Hack Week 10

Activity

  • over 9 years ago: rneuhauser added keyword "python" to this project.
  • over 9 years ago: rneuhauser added keyword "parsing" to this project.
  • over 9 years ago: rneuhauser added keyword "peg" to this project.
  • over 9 years ago: rneuhauser started this project.
  • over 9 years ago: rneuhauser originated this project.

  • Comments

    • rneuhauser
      over 9 years ago by rneuhauser | Reply

      https://github.com/roman-neuhauser/py-impala - Import packages and modules from arbitrary directories and files

    Similar Projects

    zypper plugin for discovering reverse dependencies by bzoltan1

    Often when we test maintenance updates or when ...


    Linux Immersive Learning System (LILS) by dgarcia

    [comment]: # (Please use the project descriptio...


    One of couple of Python projects (update M2Crypto) by mcepl

    There are couple of projects I work on, which n...


    Give some love to spec-cleaner by kstreitova

    Project Description

    spec-cleaner is an open...


    Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil

    Join the Gitter channel! [https://gitter.im/uy...