是否可以将ANTLR4铁路图输出为png?如果是这样,怎么样?

时间:2014-01-10 11:59:03

标签: java grammar antlr4 antlrworks2

我想以铁路格式导出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,我可以添加即可生成。

2 个答案:

答案 0 :(得分:2)

这是一个库[我写的]你可以从命令行执行,或嵌入你自己的代码,从ANTLR 4语法规则生成PNG或SVG铁路图:

https://github.com/bkiers/rrd-antlr4

答案 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月。