Разбор контекстно-свободной грамматики в Python - PullRequest
8 голосов
/ 05 июня 2010

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

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

1 Ответ

8 голосов
/ 05 июня 2010

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

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

...