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