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)