Package Description
The essential tools for Java and DSL developers, including a Java & Xtend IDE, a DSL Framework (Xtext), a Git client, XML Editor, and Maven integration.
Прочитай ещё раз моё сообщение. DSL это хорошо, правильно и нужно, только язык программирования не имеет отношения к этому паттерну. Это просто разбиение программы на функции, составляющие словарь твоего нового языка. Всё, что требуется от базового языка программирования - поддерживать функции. С этим справляется даже виртовский паскаль.
Есть довольно мощный фреймворк Xtext, там свой язык описания грамматики по которой генерируется парсер, модель AST и заготовки разных механизмов вроде форматтера, валидатора, автодополнения и тд. Помимо средств интеграции этого всего в Eclipse есть поддержка LSP, если нужно.
Так он не привел никаких убедительных доводов что ему нужен DSL и уж тем более что он действительно понимает суть DSL чья идейная составляющая насмешка над здравым смыслом и введение слоя дополнительной определительной базы ради существования этой базы. Под понятие DSL подпадает любой формат данных например, а так пусть берет ANTLR4 и сооружает свою никому не нужную версию DSL.
DSL делят на внутренние (специальное API, используя которое можно использовать подмножество языка как специальный язык для предметной области) и внешние (которые ты имел в виду). Пример внутреннего DSL для описания интерфейса (накидал что-то от балды):
vlayout{
label{ text = "text" },
button{ text = "click me", onclick = "on_vasya_button_click" },
}
Это полностью валидный Lua-код, для которого не нужно писать парсер. В принципе, сделать что-то подобное можно (почти?) на любом языке, в том числе и на Паскале.
У меня нет желания спорить об определениях, особенно с человеком, с ходу кидающим тебе в морду «хрень какая-то» и «если не знаешь».
Если хочешь узнать больше о видах и способах реализации DSL, советую классическую книжку по теме: Мартин Фаулер, Предметно-ориентированные языки программирования.
А по теме треда — в нём нет смысла, пока ТС не напишет явно, что хочет.
На конструкциях и абстракциях языка java ничего не выйдет, точнее получится как в jooq и mockito. Вот kotlin позволяет более менее нормально повыпендриваться с DSL.
DSL это хорошо, правильно и нужно, только язык программирования не имеет отношения к этому паттерну. Это просто разбиение программы на функции, составляющие словарь твоего нового языка. Всё, что требуется от базового языка программирования - поддерживать функции. С этим справляется даже виртовский паскаль.
О, очередной пятизвездочный дурачок транслирует тупую шизофазию из манямирка. Никогда не было, и вот опять.