DSL не очень связаны с SQL.
Сначала вам нужно указать свой DSL на бумаге. Я настоятельно рекомендую при этом читать хорошие книги о языках программирования. (например, Лисп в маленьких кусочках от C.Queinnec).
Тогда вам нужно внедрить ваш DSL в качестве переводчика. Вы будете использовать стандартные lexing , синтаксический анализ и интерпретаторы (или, возможно, компилятор ). Очень вероятно, что вам нужно будет использовать или внедрить сборщик мусора (или использовать Boehm's GC ). Генераторы парсеров, такие как ANTLR , могут вам помочь.
Совместное проектирование и параллельная реализация DSL - это, как правило, хороший способ работы.
Вы действительно должны прочитать несколько книг и статей на нескольких языках, прежде чем разрабатывать и внедрять свой собственный DSL.
Практический способ сделать это - встроить существующий интерпретатор как Lua в ваше приложение или встроить ваше приложение в интерпретатор как ocaml или python
Разработка и внедрение хорошего DSL не является тривиальной задачей (несколько месяцев или лет работы) и требует некоторой культуры и знаний в области компьютерных наук и программирования. Возможно, чтение материалов конференций, таких как DSL2011 , поможет вам.
Помимо книги К. Куиннека, вы также можете прочитать Языки программирования: принципы и парадигмы (автор Маурицио Габриелли и Симоне Мартини) & Семь языков за семь недель: прагматическое руководство по обучению Языки программирования (по Тейт) & Прагматика языков программирования (по М. Скотту)