Python Lex & Yacc PLY is an implementation of Lex and Yacc parsing tools for Python. If you have no idea what this means, you're probably in the wrong place. Otherwise, keep reading.In short, PLY is nothing more than a Lex / Yacc implementation. Here is a list of its key features: * It is implemented entirely in Python .* It uses LR-parsing which is reasonably efficient and well suited for most grammars .* PLY provides most of the standard lex / yacc features including support for empty productions, precedence rules, error recovery, and support for ambiguous grammars .* PLY is simple to use and provides extensive error checking .* PLY does not try to do something more or less than providing the basic lex / feature Yacc. In other words, this is not an analytical framework or a major component of some larger system. The original version of PLY was developed in 2001 for use in a course of Introduction to Compilers where students used to construct a Pascal compiler for a simple language. Because of its use in a teaching environment, a lot of work went into providing an extended error checking. In addition, this experiment has been used to address common usability problems. Since a variety of incremental improvements have been made to the system. PLY-3.0 adds support for Python 3.0 and internal PLY provides much needed overhaul.