Наверное, нет.
Я предполагаю, что вы нашли грамматику ANTLR для всего ANSI SQL. Выбирать подмножество, которое является только предложением where, на самом деле не должно быть тяжелым.
У вас будет сложнее время модифицировать AST и восстанавливать исходный текст, который, как я полагаю, вы хотите. ANTLR-синтаксические анализаторы не оказывают конкретной помощи в модификации AST, кроме библиотеки для взлома узлов, когда вы их посещаете. Регенерация источника полностью зависит от вас; он может быть реализован путем сплющивания строк, когда вы идете по дереву или лучше, используя шаблоны String. Но то, что произошло сейчас, заключается в том, что ваш интерес к изменению заявления превратился в большую (?) Инженерную работу, прежде чем вы сможете это сделать. См. Мое эссе «Жизнь после парсинга» (из биографии или по поисковому запросу).
Я думаю, что вы хотите, это program transformation system. Это инструменты, которые дают грамматику, могут анализировать исходный код для АСТ и выполнять преобразования в АСТ для достижения желаемого эффекта. Обычно предоставляются PrettyPrinters для регенерации исходного текста.
http://www.antlr3.org/grammar/1062280680642/MS_SQL_SELECT.html – lad2025
Существуют примеры грамматик для MySQL и SQLite [здесь] (https://github.com/antlr/grammars-v4). Вам понадобится вся грамматика, поскольку предложения WHERE могут содержать подзапросы. (и выбрать конкретную версию ANTLR, v3 и v4 значительно отличаются) –