2010-06-05 3 views
6

Какие инструменты доступны в Python для помощи в анализе контекстно-свободной грамматики?Разбор контекстно-свободной грамматики в Python

Конечно, можно катить самостоятельно, но я ищу общий инструмент, который может генерировать парсер для данного CFG.

+1

Вы хотите * проанализировать грамматику * или проанализировать ввод способом, определенным грамматикой? – Dario

+1

Введенный в грамматику ввод парсера, извините, я этого не сделал. –

ответ

7

Я горячо рекомендую PLY - это клон Lex/Yacc на Python, который использует интроспективные средства языка сложным образом, чтобы обеспечить очень естественную спецификацию грамматики. Yacc, если вы помните, является самым воплощением CFG в понятной DSL, которая определяет, как их анализировать.

Я использовал его для реализации своего parser for ANSI C, и взаимодействие с PLY было почти без усилий.

+0

Замечательно! Спасибо, Эли. –

Смежные вопросы