Правило:
parse
: (Token LineBreak)+ EOF
;
анализирует только поток токенов, разделенных ровно одним разрывом строки, заканчивающимся ровно одним разрывом строки.
Хотя правило:
parse
: Token (LineBreak+ Token)* LineBreak* EOF
;
анализирует поток токенов, разделенных одним или несколькими разрывами строк, заканчивающимися нулем, одним или несколькими разрывами строк.
Но сделайтевам действительно нужно сделать разрывы строк видимыми в парсере?Не могли бы вы вместо этого поместить их в «скрытый канал»?
Если это не отвечает на ваш вопрос, вам придется опубликовать свою грамматику (для этого вы можете отредактировать исходный вопрос).
HTH