反图规则表示

Antlr graphical rule representation

是否有工具可以创建一个人的 antlr4 语法的图形表示,这意味着 parser/lexer 规则,例如作为有限状态机的图形表示?

应该是可以表示的,因为它有backus naur形式

示例:

plus: INT '+' INT | plus '+' INT
INT: [0-9]+

对应的有限状态机是

start -> INT <-> plus
          |
          v
        exit

除有限状态机外,可能还有其他图形表示。目标是提供一个不同的视角,以便 debugging/understanding 语法更容易。

您可能想要这样的东西:https://github.com/bkiers/rrd-antlr4。这些类型的图形称为铁路图。

另一个解决方案是使用 ANTLRWorks 2.1。包含一个名为 "Syntax Diagram" 的视图,它可以生成解析器规则 词法分析器规则的铁路图。

我在我的硕士论文中使用了这些图像,到目前为止这个过程运行良好。