Я ищу способ сделать некоторые конкретные токены нечувствительными к регистру в моем парсере ANLTR.То, что я уже пробовал:
Преобразование ввода для всех строчных букв.Это не сработало, для некоторых частей моей грамматики требуется чувствительность к регистру.
Сохранение версии токенов в верхнем и нижнем регистре.Это также не сработало, потому что мой файл лексера стал слишком большим (превысил ограничение в 64 КБ ANTLR).
Я надеюсь, что существует какой-то трюк с регулярными выражениями или, возможно, флаг ANTLR, которыйговорит парсеру обрабатывать определенные токены по-разному.
Пример:
SENSITIVETOKEN
:
'footoken'
;
INSENSITIVETOKEN
:
'bootoken' (some magic here)
;
Лексер должен распознавать "BOOTOKEN"
как INSENSITIVETOKEN
но не "FOOTOKEN"
как SENSITIVETOKEN
Спасибо за вашу помощь!^^