Распознавание \}
как символа }
внутри TEXT
будет работать нормально. Таким образом, вам придется рассмотреть вопрос о том, как вы представляете \
внутри TEXT
. Распространенный ответ - использовать \\
.
Но это все ваше решение. Вы можете использовать какой-либо символ цитирования, отличный от \
, если хотите. Вы можете настаивать на экранировании в шестнадцатеричном формате, как в URL, где %xx
представляет символ, код символа которого xx
в шестнадцатеричном формате. Вы можете использовать сущности в стиле HTML, хотя в этом случае вам придётся придумывать собственное имя, например &close;
. (Или вы можете просто использовать числовую сущность, такую как }
.)
Часть разработки формата ввода (или языка) состоит из ответов на подобные вопросы. ANTLR не пытается навязать ответ;все, что он делает - это предоставляет вам механизм для реализации любого правила цитирования, которое вы считаете подходящим. Этот механизм вовсе не таинственный;он просто состоит из написания шаблона, который вы узнаете, и связывания этого шаблона с действием, если это необходимо (например, вставка символа в кавычках в текст).