ANNOUNCE revision 4479
110458Sandreas.hansson@arm.comFebruary 19, 2007
210458Sandreas.hansson@arm.com
310458Sandreas.hansson@arm.com                  Announcing :  PLY-2.3 (Python Lex-Yacc)
410458Sandreas.hansson@arm.com
510458Sandreas.hansson@arm.com                        http://www.dabeaz.com/ply
610458Sandreas.hansson@arm.com
710458Sandreas.hansson@arm.comI'm pleased to announce a significant new update to PLY---a 100% Python
810458Sandreas.hansson@arm.comimplementation of the common parsing tools lex and yacc.  PLY-2.3 is
910458Sandreas.hansson@arm.coma minor bug fix release, but also features improved performance.
1010458Sandreas.hansson@arm.com
1110458Sandreas.hansson@arm.comIf you are new to PLY, here are a few highlights:
1210458Sandreas.hansson@arm.com
1310458Sandreas.hansson@arm.com-  PLY is closely modeled after traditional lex/yacc.  If you know how 
1410458Sandreas.hansson@arm.com   to use these or similar tools in other languages, you will find
1510458Sandreas.hansson@arm.com   PLY to be comparable.
1610458Sandreas.hansson@arm.com
1710458Sandreas.hansson@arm.com-  PLY provides very extensive error reporting and diagnostic
1810458Sandreas.hansson@arm.com   information to assist in parser construction.  The original
1910458Sandreas.hansson@arm.com   implementation was developed for instructional purposes.  As
2010458Sandreas.hansson@arm.com   a result, the system tries to identify the most common types
2110458Sandreas.hansson@arm.com   of errors made by novice users.
2210458Sandreas.hansson@arm.com
2310458Sandreas.hansson@arm.com-  PLY provides full support for empty productions, error recovery,
2410458Sandreas.hansson@arm.com   precedence rules, and ambiguous grammars.
2510458Sandreas.hansson@arm.com
2610458Sandreas.hansson@arm.com-  Parsing is based on LR-parsing which is fast, memory efficient,
2710458Sandreas.hansson@arm.com   better suited to large grammars, and which has a number of nice
2810458Sandreas.hansson@arm.com   properties when dealing with syntax errors and other parsing 
2910458Sandreas.hansson@arm.com   problems. Currently, PLY can build its parsing tables using 
3010458Sandreas.hansson@arm.com   either SLR or LALR(1) algorithms. 
3110458Sandreas.hansson@arm.com
3210458Sandreas.hansson@arm.com-  PLY can be used to build parsers for large programming languages.
3310458Sandreas.hansson@arm.com   Although it is not ultra-fast due to its Python implementation,
3410458Sandreas.hansson@arm.com   PLY can be used to parse grammars consisting of several hundred
3510458Sandreas.hansson@arm.com   rules (as might be found for a language like C).  The lexer and LR
3610458Sandreas.hansson@arm.com   parser are also reasonably efficient when parsing normal
3710458Sandreas.hansson@arm.com   sized programs.
3810458Sandreas.hansson@arm.com
3910458Sandreas.hansson@arm.comMore information about PLY can be obtained on the PLY webpage at:
4010458Sandreas.hansson@arm.com
4110458Sandreas.hansson@arm.com                   http://www.dabeaz.com/ply
4210458Sandreas.hansson@arm.com
4310458Sandreas.hansson@arm.comPLY is freely available and is licensed under the terms of the Lesser
4410458Sandreas.hansson@arm.comGNU Public License (LGPL).
4510458Sandreas.hansson@arm.com
4610458Sandreas.hansson@arm.comCheers,
4710458Sandreas.hansson@arm.com
4810458Sandreas.hansson@arm.comDavid Beazley (http://www.dabeaz.com)