在antlr4.7中找不到Tree.getType()方法

时间:2017-10-06 06:22:33

标签: antlr4

我们正在尝试在我们的应用程序中将antlr从antlr-3.3升级到antlr-4.7,并发现在Tree类中不再存在getType方法。你们有没有让我知道什么是来自Tree类的getType的替代方法可以用来获取树解析的令牌类型?

由于

1 个答案:

答案 0 :(得分:0)

您可以使用

if (tree instance of ParserRuleContext) {
    token = ((ParserRuleContext) tree).getStart(); // or #getStop
} else if (tree instance of TerminalNode) {        // TerminalNodeImpl or ErrorNode
    token = ((TerminalNode) tree).getSymbol()
}