我正在使用antlr3。我有我的解析器和词法分析器文件。我想在解析器文件中打印传入的令牌(由用户输入给出)。我尝试过input.LT(1)。
它很好地打印输入令牌(由用户给出)。但是为了将来的分析我不能使用这个先行令牌。那么还有其他命令或指令可以打印传入的令牌吗?
(例如,如果我的输入是1 + 2 +;我的'+'标记是'PLUS',那么我必须打印'+'而不是'PLUS')。
答案 0 :(得分:0)
要获取令牌的实际文本(“+”),请使用token.getText()
。
要获取表示令牌名称(“PLUS”)的文本,您必须询问解析器:<YourParserClass>.tokenNames[token.getType()]
。