yply.py

This example implements a program yply.py that converts a UNIX-yacc
specification file into a PLY-compatible program.  To use, simply
run it like this:

   % python yply.py [-nocode] inputfile.y >myparser.py

The output of this program is Python code. In the output,
any C code in the original file is included, but is commented out.
If you use the -nocode option, then all of the C code in the
original file is just discarded.

To use the resulting grammer with PLY, you'll need to edit the
myparser.py file. Within this file, some stub code is included that
can be used to test the construction of the parsing tables. However,
you'll need to do more editing to make a workable parser.

Disclaimer:  This just an example I threw together in an afternoon.
It might have some bugs.  However, it worked when I tried it on
a yacc-specified C++ parser containing 442 rules and 855 parsing
states.

Comments:

1. This example does not parse specification files meant for lex/flex.
   You'll need to specify the tokenizer on your own.

2. This example shows a number of interesting PLY features including
    
     - Parsing of literal text delimited by nested parentheses
     - Some interaction between the parser and the lexer.
     - Use of literals in the grammar specification
     - One pass compilation.  The program just emits the result,
       there is no intermediate parse tree.

3. This program could probably be cleaned up and enhanced a lot.
   It would be great if someone wanted to work on this (hint).

-Dave
       
