Если DSL не достаточно прост, чтобы синтаксический анализатор / интерпретатор помещался на одной странице, я бы рекомендовал встраивать существующий язык сценариев.
Недавно я провел несколько месяцев, работая над унаследованным мной проектом, который содержал полностью самодельный язык сценариев. Я потратил много времени на понимание синтаксического анализатора и интерпретатора, чтобы я мог исправлять ошибки, делать их потокобезопасными, расширять их, оптимизировать. Плюс было время изучить и понять особенности этого нового языка сценариев, который проснулся почти как, но не совсем то же самое, что и другие, которых я уже знал.
Я бы предпочел использовать это время, чтобы встроить существующий язык, такой как Ruby или Lua, и настроить его под свои нужды.
Пользователь получил бы пользу от языка, на котором было бы легче программировать, с меньшим количеством причуд и ошибок. Я бы выиграл от более глубокого понимания внутренних функций хорошо разработанного и популярного языка вместо того, чтобы получить относительно бесполезные экспертные знания в «myScript».