В ANTLR4 это заставит маркер LINE_FOLD быть пропущено:Пропуск токены, которые являются частью ANTLR4 грамматики
LINE_FOLD
: CRLF WSP -> skip
;
Но если я это сделать:
ESCAPED_CHAR
: '\\' LINE_FOLD? '\\'
| '\\' LINE_FOLD? ';'
| '\\' LINE_FOLD? ','
| '\\' LINE_FOLD? N
;
он будет возвращать ESCAPED_CHAR без LINE_FOLD, и если нет, то как я могу это сделать?
Итак, если я хочу придерживаться наилучшей практики ANTLR4 и поместить это в прослушиватель (как я уже разработал с прослушивателями), как бы я проработал свой путь через контексты, чтобы найти мои экранированные символы и настроить их соответственно? У меня есть TextContext, который содержит в себе различные токены ... – jgm
Я боюсь, что есть не так много, как ручная замена этих символов с использованием встроенных строковых методов целевого языка, AFAIK. Возможно, вы захотите обрезать дискуссионную группу ANTLR (https://groups.google.com/forum/#!forum/antlr-discussion), чтобы узнать, есть ли (или было) обсуждение таких действий. А если нет, вы можете начать один :) –