Мне интересно, как совместить символ без символа новой строки в грамматике, где новая строка является терминалом в надежде на ее использование, например, файл заголовка, который может содержать знаки пунктуации чисел и т. Д.Как сопоставить символ без символа новой строки в ANTLR 4?
Грамматика Я работаю с прямо сейчас:
grammar ABCHeaderNew;
import Configuration;
root: header EOF;
header: index title;
index: 'X:' INDEX stop+;
title: 'T:' TITLE stop+;
INDEX: INTEGER+;
TITLE: ANY+;
stop: comment | NEWLINE;
comment: '%' ANY* NEWLINE;
INTEGER: [0-9];
NEWLINE: '\r'? '\n';
ANY: ~(NEWLINE);
WHITESPACE: [ \t]+ -> skip;
Это не компилируется (сообщение об ошибке: эталонная правило NEWLINE не поддерживается в наборе). Есть несколько других вариантов, которые я пытался, которые тоже не работают.
Кто-нибудь знает об обходном пути?