我想以铁路格式导出ANTLR 4规则。
请注意,此格式与命令行选项“-atn”生成的格式不同。
铁路格式是由antlrworks生成的,但我想以图解的方式生成它。
我正在寻找类似http://clapham.sourceforge.net/的东西
Anterham生成我想要的BNF。有没有工具可以从antlr 4转换到BNF?(问题可能与Generate BNF diagrams from an antlr grammar?有关,但请注意,我在这里问的不是同样的问题。转换到BNF只是一个解决方案,我想要的是直接从ANTLR语法生成铁路图)
下面的答案为Generate BNF diagrams from an antlr grammar?为我工作
获取ANTLR语法,发送到https://www.bottlecaps.de/convert/,然后发送到https://www.bottlecaps.de/rr/ui
无法处理ANTLR 4表达式,如“WS:[ \t\r\n]+ -> skip;”,因此我将其更改为传统格式“WS::=(#x9| #xD| #xA)*”
不幸的是,Clapham无法使用https://www.bottlecaps.de/convert/生成的BNF语法。
这是一种获得图表的方法,但这不是示意性的。我希望我有一些我可以添加以动态生成的图表。
2条答案
按热度按时间3yhwsihp1#
这里有一个库[我写的],你可以从命令行执行,或者嵌入到你自己的代码中,从ANTLR 4语法规则生成PNG或SVG铁路图:
https://github.com/bkiers/rrd-antlr4
vulvrdjw2#
Checkout ANTLR 4 IDE:https://github.com/jknack/antlr4ide
下面是一个Java.g4到HTML的例子:http://jknack.github.io/antlr4ide/Java/Javav4.g4.html
您可以在http://jknack.github.io/antlr4ide/Java/images目录下找到图像。
此工具的最后一次更新是在2016年12月。