2

ANTLR 4 中有没有办法能够返回当前标记的最后一个字符的行号?

我提到了 Antlr,从令牌中获取最后一行,但这将是特定于规则的。我想要更通用的东西,但在 ANTLR API 中找不到适合我的东西。

4

1 回答 1

3

没有直接的方法可以获取此信息。但是,如果您的词法分析器中没有任何-> skip命令,您可以从以下标记派生它。

假设 tokenb跟在 token 之后a。如果b.getCharPositionInLine()==0, 的最后一个字符a在线b.getLine()-1。否则, 的最后一个字符a在线b.getLine()

于 2013-07-05T11:26:33.233 回答