我很可能会问一些在这里无法实现的事情..也许有人可以指出
(a) 至少部分实现从(相当复杂的)antlr 语法创建 bnf 图的一些步骤(/工具?)
(b) 为什么(如果是的话)这根本无法实现。例如,也许因为 antlr 是扩展的 BNF 并且它的递归结构与 bnf 要求不同......沿着这些线。
ANTLRWorks 1 用于生成图表,一次一个,用于规则。
对于 v4,ANTLRWorks 2 也会生成它们,但我不确定它是否可以将它们保存到磁盘。
三
如果它是 ANTLR 3 语法,你可以
Grako在其示例中有一个 ANTLR3 到 EBNF 的转换器。您可以将其自定义为您需要的 BNF 样式(或 ANTLR4)。