Ответ 1
эквивалент v4 будет выглядеть так:
COMMENT
: ( '//' ~[\r\n]* '\r'? '\n'
| '/*' .*? '*/'
) -> channel(HIDDEN)
;
который будет помещать все одиночные и многострочные комментарии в канал HIDDEN
. Однако, если вы ничего не делаете с этими HIDDEN
-tokens, вы можете также skip
использовать эти токены, которые выглядят следующим образом:
COMMENT
: ( '//' ~[\r\n]* '\r'? '\n'
| '/*' .*? '*/'
) -> skip
;
Обратите внимание, что для того, чтобы сказать, что lexer или parser соответствуют неровности, вы больше не используете options {greedy=false;}
, а добавляете ?
, подобно многим реализациям регулярных выражений.