Ты имеешь в виду это?
// Use this instead of ID in all parser rules that take either token
identifier
: VAR_ID | ID
;
VAR_ID
: 'var' ('A'..'Z' | 'a'..'z')*
;
ID
: ('A'..'Z' | 'a'..'z')+
;
В любом случае : если возможно, NOT используйте строгую лексер-грамматику для сообщений об ошибках. Они медленнее и полностью неразборчивы для пользователей . Вам следует разобрать ID
в непринужденной форме, а затем проверить, в правильной ли оно форме.