Разбор SparkSQL - SqlBase.g4 не распознает строчные ключевые слова и идентификаторы - PullRequest
0 голосов
/ 05 марта 2019

Я скачал SqlBase.g4 и использую инструмент antlr v4 для сборки лексера и парсера.Однако когда я запускаю анализатор для очень простого запроса: select * from table1, он не может распознать строчную select и строчную таблицу идентификатора table1, когда я изменяю запрос на SELECT * FROM TABLE1, он работает.

Есть ли способ разрешить парсеру работать в нижнем регистре?

1 Ответ

0 голосов
/ 05 марта 2019

У вас есть два варианта:

1. Создание лексических правил, соответствующих верхнему или нижнему регистру.

2. Создание лексических правилправила, которые соответствуют ключевым словам в верхнем регистре, а затем анализируются с помощью пользовательского потока символов, который преобразует все символы в верхний регистр перед отправкой их в лексер (с помощью метода LA ()).

Прочтите эту статью, чтобы получить больше информации: Лексинг без учета регистра

...