A JetBrains MPS DSL to generate a DSL.
In MPS, select the Console window and type the command
LanguageGenerator.createConcepts(#project.getRepository(), model-ptr/LanguageGenerator.sandbox/, module-reference/GeneratedLanguage/)
The first parameter
#project.getRepository()
is a reference to the global repository.
The second parameter
model-ptr/LanguageGenerator.inputModels/
points to the input models.
The third parameter
module-reference/GeneratedLanguage/
points to the module where the generated language will be created.
This is the workflow that I followed when I wanted to implement a new language feature in the LanguageGenerator application:
- Implement the feature using the MPS editor
- Run
mpsmodelprinterand analyse the result - Recreate the node structure of the language feature using BaseLanguage
Inspired by the Cult of done Manifesto, I am publishing this project even though it is not yet complete.
There is a lot of code that should point you in the right direction when you would like to so do yourself.
You'll need a fair bit of experience of working with JetBrains MPS, though.
MPS Model Printer : Pretty printer utility for JetBrains MPS language models

