Antlr,从令牌中获取最后一行
我有一个可以包含多行的标记定义(类似于多行注释)。
我可以使用 .line 属性来获取令牌开始的行,但我需要 知道令牌在哪里结束。
是否可以获取token的最后一行?
I have a token definition that can contain multiple lines (something like multi line comments).
I can use the .line attribute to get the line where the token starts, but I need to
know where the token end.
Is it possible to get the last line of the token?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过将 (Java) 代码块
{$line=getLine();}
放置在规则的末尾来更改标记的行号。因此,对于多行注释,看起来像这样:
导致标记
COMMENT
的方法getLine()
返回子字符串的行号“*/”
发生于。You can change the line number of a token by placing the (Java) code-block
{$line=getLine();}
at the end of the rule.So, for multi-line comments, that would look like this:
causing the method
getLine()
of the tokenCOMMENT
to return the line number the sub-string"*/"
occurred on.