Аналогично Генерируя n операторов из контекстно-свободных грамматик , я хочу случайным образом генерировать предложения из грамматики.
Что такое хороший генератор синтаксического анализатора для манипулирования фактическими грамматическими произведениями? Я хочу, чтобы генератор синтаксического анализатора фактически давал мне доступ к продукции (объектам производства?).
Если бы у меня была грамматика, похожая на:
start_symbol ::= foo
foo ::= bar | baz
Что такое хороший генератор парсера для:
- давая мне символ начала производства
- позвольте мне выбрать одно производство из RHS начального символа (
foo
в этом случае)
- дайте мне варианты производства для
foo
Ясно, что каждый синтаксический анализатор имеет внутренние представления для продукций и методы связывания продукции с его RHS, но каким парсером будет легко манипулировать этими внутренностями?
Примечание: запись в блоге , на которую ссылается другой упомянутый мной вопрос SO, имеет своего рода собственный синтаксический анализатор CFG. Я хочу использовать фактическую грамматику для реального парсера, а не генерировать свой собственный грамматический парсер.