Якоб писал:
Синтаксис грамматики ANTLR описывается только примерами.
ANTLR (v3) написан "всвои слова "(как выразился сам Теренс Парр) в этой грамматике:
http://www.antlr.org/grammar/ANTLR/ANTLRv3.g
Якоб писал:
но вы должны быть в состоянии преобразовать хотя бы общее подмножество - кто-нибудь еще сделал это автоматически?
Не то, что я знаю.И если он существует, я никогда не видел, чтобы этот инструмент обсуждался в списке рассылки ANTLR, который я регулярно читаю.
Также обратите внимание, что многие BNF-варианты допускают left-recursive правил, то, с чем не может справиться генератор LL-парсера, такой как ANTLR.Левые рекурсивные правила, конечно, могут быть переформулированы инструментом, но это может быть довольно сложно, и, вероятно, приведет к гораздо менее «читаемой» грамматике, чем можно было бы сделать, если бы это не делалось вручную.
Что касается преобразования грамматик ANTLR в BNF-подобную форму, то, я думаю, было бы легче, хотя только с большинством тривиальных грамматик.Как только различные типы предикатов добавляются в грамматику ANTLR, преобразование может снова стать хитрым.