PLY (software)

PLY is a parsing tool written purely in Python.

It is, in essence, a re-implementation of Lex and Yacc originally in C-language.

PLY uses the same LALR parsing technique as Lex and Yacc.

[1] Implemented in Python, it has almost all the features provided by Lex and Yacc.

It includes support for empty productions, precedence rules, error recovery, and ambiguous grammars.