1 июня 2008 года вышла версия 1.5.0 модуля грамматического анализа pyparsing. Модуль предназначен для лексического и синтаксического анализа текстов, описываемых простыми грамматиками. На сайте разработчика выложены десятки примеров его применения, среди которых - примеры для языков SQL, CORBA IDL, языка химических формул и т.д.
Несмотря на то, что модуль не предусматривает отделения кода от данных (описание грамматики "вшивается" в код программы), он используется во многих проектах. Например, он нашел применение в svg2imagemap (SVG to HTML image map converter), Pybtex (BibTeX parser), PyMLNs (Markov Logic Networks), Tunnelhack (text adventure). Автор анализатора, Paul McGuire, использовал свой продукт для разбора программ на Verilog.
Модуль оформлен в виде одного .py-файла и распространяется на условиях свободной пользовательской лицензии MIT License. Включен в состав дистрибутива Debian GNU/Linux.
Как заявляет Paul McGuire, код модуля для Python 3.0 доступен, но еще до конца не отлажен. Основной веткой является Python 2.x.
Новости проекта: http://pyparsing.wikispaces.com/News
Страница загрузки: http://pyparsing.wikispaces.com/Downl...
В качестве альтернативы модулю pyparsing можно посмотреть анализатор Дэвида Бизли, PLY (Python Lex-Yacc), поддерживающий SLR и LALR(1)-грамматики.