Antlr, получить последнюю строку из токена - PullRequest
0 голосов
/ 26 октября 2011

У меня есть определение токена, которое может содержать несколько строк (что-то вроде многострочных комментариев).

Я могу использовать атрибут .line, чтобы получить строку, где начинается токен, но мне нужно знать, гдеконец токена.

Возможно ли получить последнюю строку токена?

1 Ответ

1 голос
/ 02 ноября 2011

Вы можете изменить номер строки токена, поместив кодовый блок (Java) {$line=getLine();} в конец правила.

Итак, для многострочных комментариев это будет выглядеть так:

COMMENT
  :  '/*' .* '*/' {$line=getLine();}
  ;

заставляет метод getLine() токена COMMENT возвращать номер строки, в которой произошла подстрока "*/".

...