Вы описываете язык программирования. Конечно, это маленький язык (часто называемый небольшим языком, или домен-специфический язык (DSL)). Если вы никогда не слышали термин «синтаксический анализатор рекурсивного спуска», вам, вероятно, лучше следовать совету Пола и использовать выпадающие списки некоторого описания.
Однако, опять же, я должен был бы согласиться с ним, что если вы хотите сделать это, Antlr - это путь. На сайте есть учебники, которые могут помочь вам начать работу. В основном вам нужно будет описать синтаксис с помощью формы Бэкуса-Наура нотации.
Затем вы запустите Antlr над вашим грамматиком, и он сгенерирует ваш парсер. Затем вы можете подать ввод из вашего учебника в абстрактное синтаксическое дерево. Затем вы можете использовать это дерево для генерации вашего запроса. Это не так сложно, как кажется, но в этом есть немного.
Если вы действительно в этом заинтересованы и / или хотите немного растянуть свои крылья программирования, вы можете прочитать больше на эту тему с помощью Книги Дракона, AKA Compilers: Принципы, Методы и Инструменты.
Удачи, мой друг.