28 мая 2008 года вышла версия 2.5 модуля грамматического анализа PLY. Модуль предназначен для лексического и синтаксического анализа текстов, описываемых LALR(1)- и SLR-грамматиками (синтаксис которых задан в форме Бэкуса-Науэра, БНФ).
Автор PLY, Python Lex-Yacc, — знаменитый Дэвид Бизли, написавший также генератор интерфейсов SWIG и замечательные книги по языку Python. Изначально PLY был предназначен для разработки компиляторов Паскаль-подобного языка студентами и использовался на практических занятиях по курсу "Introduction to Compilers".
Как следует из названия модуля, он является аналогом lex/yacc. Но, в отличие от них, не является генератором кода, а работает в режиме интерпретации.
При написании анализатора LALR(1)-грамматик, Бизли использовал код Elias Ioup, который впоследствие был заменен на более эффективный алгоритм DeRemer'а и Pennello.
Бизли занимается этим проектом в свободное время и рад помощи по улучшению продукта. Также автор оказывает платные услуги по поддержке модуля.
Модуль оформлен в виде двух .py-файлов и распространяется на условиях свободной пользовательской лицензии GNU LGPL 2.1. К исходным текстам прилагаются десятки качественных тестов и примеров. Включен в состав дистрибутива Debian GNU/Linux.
Скачать: http://www.dabeaz.com/ply/ply-2.5.tar.gz
Лист рассылки: http://groups.google.com/group/ply-hack
Google Code: http://code.google.com/p/ply
>>> Подробности