ANTLR打印树

时间:2011-11-15 15:58:34

标签: java antlr grammar abstract-syntax-tree

我正在寻找能够以可读格式打印树的ANTLR语法。当我尝试打印Java.g(http://openjdk.java.net/projects/compiler-grammar/antlrworks/Java.g)时,结果很不方便。但我发现一个语法(包括java项目),它打印AST好。这个语法是Marton Papp的Pascal语法(http://www.antlr.org/grammar/1279217060704/pascal3.zip)。

类似的东西:

VARDECL text="Var"
       VARLIST text=""
       VAR text="a" 
       VAR text="b" 
       VARTYPE text="Integer"

适用于Pascal(pascal3.zip)。

你有没有看到过这样的东西:C,Java,C#,VB。也许,你看到其他一些语言吗?

  • 所需的目标语言(Parser和Lexer)只是Java。

1 个答案:

答案 0 :(得分:1)

您可以非常轻松地更改Java语法(假设您知道一点ANTLR)。词法分析器和解析器语法的编写是最难的部分,在这种情况下,已经为你完成了。

如果您想知道如何让解析器语法输出AST而不是简单的解析树,请查看之前的Q& A:How to output the AST built using ANTLR?