ANTLRv4 - Как определить цитату без кавычек в строке - PullRequest
0 голосов
/ 07 мая 2020

Как мне узнать строку «Разве ты не строка?» без получения ошибки распознавания токена в апострофе?

Вот относительная грамматика из моего лексера:

STRING_LITERAL : '"' STRING? '"';
fragment STRING : STRING_CHARACTER+;  
fragment STRING_CHARACTER :  ~["'\\] | ESCSEQ;
fragment ESCSEQ : '\\' [tnfr"'\\];

1 Ответ

1 голос
/ 07 мая 2020

Удалить одинарную кавычку из ~["'\\]:

STRING_LITERAL : '"' STRING? '"';
fragment STRING : STRING_CHARACTER+;  
fragment STRING_CHARACTER :  ~["\\] | ESCSEQ;
fragment ESCSEQ : '\\' [tnfr"'\\];
...