PyGgy v0.3 - http://www.lava.net/~newsham/pyggy/ Tim Newsham 2004 Jul 15 Public Domain
PyGgy is a python package for generating parsers and lexers in python. The PyGgy distribution contains two tools:
PyLly - (Pronounced "pile-ey") A lexer generator that generates DFA tables for lexing tokens. PyGgy - (Pronounced "piggy") A parser generator that generates SLR tables for a GLR parsing engine.
The PyLly program is used to pregenerate tables for a finite state machine from a lexer specification. There is a lexer engine that uses the tables to tokenize an input stream.
The PyGgy program is used to pregenerate parser tables from a parser specification. There is a GLR parsing engine that uses the tables to parse a stream of input tokens. Because GLR parsing is used, the parser can deal with arbitrary grammars, even if they are recursive or ambiguous.
PyGgy is self hosting -- PyGgy parsers and PyLly lexers are used to process the specification files used by both PyGgy and PyLly.
This is version 0.3 of PyGgy. It is the second public release. This is an alpha release; the public interfaces are subject to change, and there may be bugs in the code. This version of PyGgy is placed in the public domain. This means anyone can do anything with it with no restrictions whatsoever.