LINUX.ORG.RU

История изменений

Исправление stevejobs, (текущая версия) :

Jetbrains Meta Programming System (MPS) тебя спасет.

Отличная штука, свободная, развивается на глазах. Делают умные русские товарищи, которые рады помочь (особенно если ты возьмешься чуть-что пропиарить тулзу и сказать, что «это написано на MPS!» на своем сайте)

Опыт нужен минимальный («генератор для блондинок»). Решение всё-в-одном.

Есть заранее приготовленные языки, даже С++ есть. Заранее приготовленные языки можно смешивать в одном проекте, то есть можешь «скриптовать» на смеси явы и эрланга, если хочешь. .NETу и не снилось.

Код самого MPS довольно понятный, чистый, местами с комментариями. Можно форкать на гитхабе и править на свое усмотрение, если чего-то не хватит. Мне вот не хватило пары тулзов, пришлось написать.

Для написания плагинов необязательно форкать. Поддерживаются динамические плагины в составе твоего DSL.

Ну и да, язык - Java. Точнее, модель жавы под внутренним названием baseLanguage. Т.е. углубляться во всякую эзотерическую функциональщину не надо, просто берешь и сразу пишешь. Но есть нюансы, т.к. baseLanguage - не совсем жава, там есть синтаксические дополнения например для удобной навигации по AST. Можно и без удобной навигации, но это ад. Поэтому несмотря на привычность базового языка, читать мануал всё равно придется, пристально и вдумчиво.

Исходная версия stevejobs, :

Jetbrains Meta Programming System (MPS) тебя спасет.

Отличная штука, свободная, развивается на глазах. Делают умные русские товарищи, которые рады помочь (особенно если ты возьмешься чуть-что пропиарить тулзу и сказать, что «это написано на MPS!» на своем сайте)

Опыт нужен минимальный («генератор для блондинок»). Решение всё-в-одном.

Есть заранее приготовленные языки, даже С++ есть. Заранее приготовленные языки можно смешивать в одном проекте, то есть можешь «скриптовать» на смеси явы и эрланга, если хочешь. .NETу и не снилось.

Код самого MPS довольно понятный, чистый, местами с комментариями. Можно форкать на гитхабе и править на свое усмотрение, если чего-то не хватит. Мне вот не хватило пары тулзов, пришлось написать.