使用以下命令制作:java org.antlr.v4.Tool -visitor -lib scanner / parser / Decaf.g,生成该指令(DecafParserBaseListener.java,DecafParserBaseVisitor.java,DecafParserListener.java,DecafParserVisitor.java)。我们的问题是如何使用这种方法来制作AST?
答案 0 :(得分:0)
简短:Antlr4中尚未提供。 它在Antlr3中可用,但到目前为止在Antlr4的版本中被删除了。 Afaik它可能会包含在更多版本中。
您必须使用解析树和访客/监听器来执行您的任务或“手动”生成AST。
根据我自己的经验 - 如果您以有效的方式创建/组织解析器规则 - 与从解析树开始相比,从AST开始并不是一个很大的优势。