Используйте BNF, чтобы получить преимущество в семантике языка. GoldParser поможет вам, поиграв с семантикой и синтаксисом (ссылка здесь: http://www.devincook.com/). Как только вы разберетесь с семантикой BNF, вы можете затем создайте действия на основе входных данных, например, раздел грамматики bnf, посвященный извлечению композиции из классификации генетического состава конечности (я не знаю, существует ли она, абстрактный пример здесь, но вы понимаете суть) для конкретного запрос ... «получить статистику по конечности, где конечность - это нога», а затем за кулисами вы можете выполнить SQL-выбор по псевдониму или имени столбца из предопределенной таблицы ... Я могу ошибаться при подходе ... Надеюсь, это помогает?