我想以铁路格式导出ANTLR4规则。
请注意,此格式与命令行选项“-atn”生成的格式不同。
铁路格式由antlrworks生成,但我想以编程方式生成。
我正在寻找像http://clapham.sourceforge.net/
这样的东西clapham从BNF生成我想要的东西。有没有工具从antlr4转换为BNF? (问题可能与Generate BNF diagrams from an antlr grammar?有关,但请注意我在这里没有提出同样的问题。转换为BNF只是一种解决方法,我想要的是直接从ANTLR语法生成铁路图)
根据Generate BNF diagrams from an antlr grammar?的答案为我工作
获取您的ANTLR语法,发送至http://bottlecaps.de/convert/,然后发送至http://bottlecaps.de/rr/ui
ANTLR4表达式,例如“WS:[\ t \ r \ n] + - >跳过;”无法处理,所以我改为传统形式“WS :: =(#x9 | #xD | #xA)*”
不幸的是,Clapham无法使用http://bottlecaps.de/convert/生成的BNF语法。
这是获取图表的一种方法,但这不是以编程方式。 我希望我有一些JAR,我可以添加即可生成。
答案 0 :(得分:2)
这是一个库[我写的]你可以从命令行执行,或嵌入你自己的代码,从ANTLR 4语法规则生成PNG或SVG铁路图:
答案 1 :(得分:0)
结帐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月。