Вы читали это ?Мартин Фаулер - авторитет в этом вопросе и великий писатель.Я сомневаюсь, что кто-нибудь улучшит первый абзац.Если вы все еще не получили его, дайте ему немного времени и перечитайте статью несколько раз.
Я бы порекомендовал посмотреть в MPS
A JetBrain *.Книга может быть ошеломляющей, но есть относительно новая доступная .
И у меня сложилось впечатление, что DSL - это просто какой-то файл конфигурации, состоящий из текстов, XML и вы используетенекоторые инструменты, такие как Groovy для его анализа, волшебным образом превращаются в некоторые методы или функции, которые вы можете вызывать.Что случилось?
Не думаю, что ваше впечатление совершенно точное.Я бы забыл про Groovy, парсинг и все детали реализации.Сосредоточьтесь на проблеме, которую пытается решить DSL.
Дизайнер DSL пытается придумать язык псевдопрограммирования, который эксперт, не знакомый с такими языками программирования, как Groovy, Java или C #, признает простой язык, описывающий их путь они решают проблемы.
В DSL используются термины и понятия, знакомые любому, кто знает об этом домене.
DSL защищает пользователей от базовых деталей реализации, чтобы они могли сосредоточиться на том, как атаковать свои проблемы.
DSL написан для удобства бизнес-пользователей , а не разработчиков.
Имейте это в виду, а остальное - реализация.Глаз на приз ....