Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
ANTLR 4 中有没有办法能够返回当前标记的最后一个字符的行号?
我提到了 Antlr,从令牌中获取最后一行,但这将是特定于规则的。我想要更通用的东西,但在 ANTLR API 中找不到适合我的东西。
没有直接的方法可以获取此信息。但是,如果您的词法分析器中没有任何-> skip命令,您可以从以下标记派生它。
-> skip
假设 tokenb跟在 token 之后a。如果b.getCharPositionInLine()==0, 的最后一个字符a在线b.getLine()-1。否则, 的最后一个字符a在线b.getLine()。
b
a
b.getCharPositionInLine()==0
b.getLine()-1
b.getLine()