我有一个令牌定义,可以包含多行(类似于多行注释)。
我可以使用.line属性来获取令牌开始的行,但我需要 知道令牌的结束位置。
是否可以获得令牌的最后一行?
答案 0 :(得分:1)
您可以通过将(Java)代码块{$line=getLine();}
放在规则的 end 来更改令牌的行号。
因此,对于多行注释,看起来像这样:
COMMENT
: '/*' .* '*/' {$line=getLine();}
;
导致令牌getLine()
的方法COMMENT
返回发生子字符串"*/"
的行号。