Проблема в том, что я написал файл лексера и создал токен как
IF_EXPR : 'IF';
ELSEIF_EXPR : 'ELSEIF';
THEN_EXPR : 'THEN';
ELSE_EXPR : 'ELSE'
Но в некоторых случаях у меня может быть какая-то строка, содержащая 'IF' в блоке условий или в стороне THEN блок. и он рассматривает 'IF' в строке как токен.
Пример:
IF abc=1
THEN
xyzIF=3
ELSE
abc=2
ENDIF
В приведенном выше примере мой лексер обрабатывает 'IF' в xyzIF как токен IF_EXPR но он должен рассматривать xyzIF как один другой токен.