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"
This project is part of:
Hack Week 10
Activity
Comments
-
about 10 years ago by rneuhauser | Reply
https://github.com/roman-neuhauser/py-impala - Import packages and modules from arbitrary directories and files
Similar Projects
Script that loads dummy data into HANA database for testing purposes. by rangelino
[comment]: # (Please use the project descriptio...
Forklift - Text based GUI utility for dealing with containers by andreabenini
[comment]: # (Please use the project descriptio...
Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil
Join the Gitter channel! [https://gitter.im/uy...
A quantum physics experiment puzzle (designed with Google's CP-SAT solver) by moio
[![link to video player demoing the result](htt...
Grab precise changes in log file/s between system events by smhalas
[comment]: # (Please use the project descriptio...