ANTLR 4中是否有办法能够返回当前令牌的最后一个字符的行号?
我提到了Antlr, get last line from token,但这是针对规则的。我想要更通用的东西但是找不到适合我的ANTLR API。
答案 0 :(得分:3)
没有直接获取此信息的方法。但是,如果您的词法分析器中没有任何-> skip
命令,则可以从以下标记派生它。
假设令牌b
跟随令牌a
。如果b.getCharPositionInLine()==0
,则a
的最后一个字符位于b.getLine()-1
上。否则,a
的最后一个字符就在b.getLine()
上。