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)