16498Snate@binkert.orgMarch 24, 2009 24479Sbinkertn@umich.edu 36498Snate@binkert.org Announcing : PLY-3.2 (Python Lex-Yacc) 44479Sbinkertn@umich.edu 54479Sbinkertn@umich.edu http://www.dabeaz.com/ply 64479Sbinkertn@umich.edu 74479Sbinkertn@umich.eduI'm pleased to announce a significant new update to PLY---a 100% Python 86498Snate@binkert.orgimplementation of the common parsing tools lex and yacc. PLY-3.2 adds 96498Snate@binkert.orgcompatibility for Python 2.6 and 3.0, provides some new customization 106498Snate@binkert.orgoptions, and cleans up a lot of internal implementation details. 114479Sbinkertn@umich.edu 124479Sbinkertn@umich.eduIf you are new to PLY, here are a few highlights: 134479Sbinkertn@umich.edu 144479Sbinkertn@umich.edu- PLY is closely modeled after traditional lex/yacc. If you know how 154479Sbinkertn@umich.edu to use these or similar tools in other languages, you will find 164479Sbinkertn@umich.edu PLY to be comparable. 174479Sbinkertn@umich.edu 184479Sbinkertn@umich.edu- PLY provides very extensive error reporting and diagnostic 194479Sbinkertn@umich.edu information to assist in parser construction. The original 204479Sbinkertn@umich.edu implementation was developed for instructional purposes. As 214479Sbinkertn@umich.edu a result, the system tries to identify the most common types 224479Sbinkertn@umich.edu of errors made by novice users. 234479Sbinkertn@umich.edu 244479Sbinkertn@umich.edu- PLY provides full support for empty productions, error recovery, 254479Sbinkertn@umich.edu precedence rules, and ambiguous grammars. 264479Sbinkertn@umich.edu 274479Sbinkertn@umich.edu- Parsing is based on LR-parsing which is fast, memory efficient, 284479Sbinkertn@umich.edu better suited to large grammars, and which has a number of nice 294479Sbinkertn@umich.edu properties when dealing with syntax errors and other parsing 304479Sbinkertn@umich.edu problems. Currently, PLY can build its parsing tables using 314479Sbinkertn@umich.edu either SLR or LALR(1) algorithms. 324479Sbinkertn@umich.edu 334479Sbinkertn@umich.eduMore information about PLY can be obtained on the PLY webpage at: 344479Sbinkertn@umich.edu 354479Sbinkertn@umich.edu http://www.dabeaz.com/ply 364479Sbinkertn@umich.edu 376498Snate@binkert.orgPLY is freely available. 384479Sbinkertn@umich.edu 394479Sbinkertn@umich.eduCheers, 404479Sbinkertn@umich.edu 414479Sbinkertn@umich.eduDavid Beazley (http://www.dabeaz.com)