Обычно DSL по-прежнему имеет тот же базовый синтаксис, что и его основной язык, и просто расширяет возможности языка.Так что все для вас по-прежнему написано на Python, это просто Python с некоторыми доменными функциями, переменными и т. Д.
Мой опыт работы с DSL в основном связан с семейством языков Lisp.Там типичный DSL может быть реализован с помощью макросов, которые генерируют кодовые шаблоны, специфичные для DSL.(Плюс функции, относящиеся к DSL).Дело в том, что хотя макросы и функции могут расширять возможности языка, они все еще реализованы на этом языке.
Полагаю, вы могли бы пойти еще дальше и написать интерпретатор на Python - но там вы все равнополучите работоспособность Python бесплатно, поскольку ваш переводчик переводит ваш собственный язык обратно в Python.