Announcing PyGgy

Tim Newsham <newsham@lava.net>
15 Aug 2003 23:48:13 -0400

          From comp.compilers

Related articles
Announcing PyGgy newsham@lava.net (Tim Newsham) (2003-08-15)
finite state minimization proofs rpboland@math.uwaterloo.ca (Ralph P. Boland) (2003-08-20)
| List of all articles for this month |
From: Tim Newsham <newsham@lava.net>
Newsgroups: comp.compilers
Date: 15 Aug 2003 23:48:13 -0400
Organization: Compilers Central
Keywords: parse, lex, python
Posted-Date: 15 Aug 2003 23:48:13 EDT

Announcing:


PyGgy v0.1 - http://www.lava.net/~newsham/pyggy/
Tim Newsham
2003 Aug 15
Public Domain


---[ Description


PyGgy is a python package for generating parsers and lexers in python.
The PyGgy distribution is made of two parts:


        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.1 of PyGgy. It is the first public release and
may contain numerous bugs. The interfaces present in PyGgy may
change drastically in the future as the software matures. This
version of PyGgy is placed in the public domain. This means anyone
can do anything with it with no restrictions whatsoever.


PyGgy was written and tested with Python 2.2.3.


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.