PLY (software)
Appearance
This article needs additional citations for verification. (April 2014) |
Original author(s) | David M. Beazley |
---|---|
Stable release | 3.11
|
Repository | |
Written in | Python |
Website | dabeaz |
PLY is a parsing tool written purely in Python. It is basically a re-implementation of Lex and Yacc originally in C-language. It was written by David M. Beazley. PLY uses the same LALR parsing technique as Lex and Yacc. PLY also has extensive debugging and error reporting facilities.[1]
Features
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. It supports Python 3.
Structure of a PLY file
PLY has the following two Python modules which are part of the ply package.[2]
- ply.lex - This deals with the lexical analysis part.
- ply.yacc - This module is for creating a parser.
These files contain the necessary modules.