Слово «детектор» не распознается как токен в ANTLR4 - PullRequest
0 голосов
/ 06 октября 2018

Я определил правило грамматики

variable : ID ;

, где идентификатор определяется в грамматике лексера как

ID : VALID_ID_START VALID_ID_CHAR* ;
fragment VALID_ID_START : ('a' .. 'z') | ('A' .. 'Z') | '_' ;
fragment VALID_ID_CHAR : VALID_ID_START | ('0' .. '9') ;

Однако в моем тесте буквальное слово «детектор» не распознается кактокен переменной.Это работает, как и ожидалось, как только я удаляю любой символ из слова.Является ли «детектор» зарезервированным словом в ANTLR4?Если да, как я могу обойти это, так как это слово является общей переменной в моей работе.

1 Ответ

0 голосов
/ 06 октября 2018

Я нашел причину проблемы.Где-то в моих правилах лексера слово «детектор» используется для определения другого токена.Спасибо @ sepp2k за его комментарии, которые направили меня в правильном направлении решения проблемы.

...