Я использую обычное разделение пробелов в скрытом канале, но у меня есть одно правило, согласно которому я хотел бы включать любые пробелы для последующей обработки, но любой найденный мной пример требует очень странного ручного кодирования.
Нет простого варианта для чтения из нескольких каналов, например, возможность поставить пробел с самого начала.
Пример. это правило лексера WhiteSpace
WS : ( ' '
| '\t'
| '\r'
| '\n'
) {$channel=HIDDEN;}
;
И это мое правило, в котором я хотел бы включить пробелы
raw : '{'? (~('{'))*;
В основном это правило перехвата всего для захвата любого контента, который не соответствует другим правилам, для обработки другим шаблоном, и поэтому мне нужно исходный поток.
Я надеялся на {$ channel == DEFAULT || $ channel == HIDDEN}
пример синтаксиса, но не могу его найти.
Моей целью будет C #, но я могу переписать примеры Java, если потребуется.