在antlr3语法中打印传入令牌?

时间:2017-03-08 11:18:08

标签: antlr3

我正在使用antlr3。我有我的解析器和词法分析器文件。我想在解析器文件中打印传入的令牌(由用户输入给出)。我尝试过input.LT(1)。

它很好地打印输入令牌(由用户给出)。但是为了将来的分析我不能使用这个先行令牌。那么还有其他命令或指令可以打印传入的令牌吗?

(例如,如果我的输入是1 + 2 +;我的'+'标记是'PLUS',那么我必须打印'+'而不是'PLUS')。

1 个答案:

答案 0 :(得分:0)

要获取令牌的实际文本(“+”),请使用token.getText()

要获取表示令牌名称(“PLUS”)的文本,您必须询问解析器:<YourParserClass>.tokenNames[token.getType()]