我想以铁路格式导出ANTLR4规则。
请注意,此格式与命令行选项"-atn"生成的格式不同。
铁路格式是由antlrworks生成的,但我想用程序生成它。
我在找这样的东西http://clapham.sourceforge.net/
clapham从BNF生成我想要的内容。有什么工具可以从antlr4转换为BNF吗?(问题可能与从antlr语法生成BNF图有关?,但请注意,我在这里并没有问同样的问题。转换为BNF只是一种变通方法,我想要的是直接从antlr文法生成铁路图)
根据antlr语法生成BNF图的答案?为我工作
只需获取你的ANTLR语法,发送到http://bottlecaps.de/convert/然后http://bottlecaps.de/rr/ui
ANTLR4表达式,如"WS:[\t\r\n]+->skip;"无法处理,因此我已更改为传统形式"WS::=(#x9|#xD|#xA)*">
Clapham无法使用由生成的BNF语法http://bottlecaps.de/convert/不幸地
这是一种获取图表的方法,但这不是程序化的我希望我有一些JAR,可以添加到动态生成中
这里有一个库[我写的],你可以从命令行执行,或者嵌入到你自己的代码中,从ANTLR 4语法规则生成PNG或SVG铁路图:
https://github.com/bkiers/rrd-antlr4
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月。