DSL distribution

DSL distribution

I would like to make a DSL available to other users. In which ways can this be achieved?
I read that one can create a stand-alone MPS which has the DSL prepackaged. Are there also other ways to distribute them? Is it possible to use the DSL somehow outside the MPS IDE?

Are there any tutorials on DSL packaging and distribution scenarios?


I was also wondering if it is possible to create something like a stand-alone executable. I would like to be able to pass a text-file to this executable where the content of the file is expected to confirm to the DSL's syntax. The executable generates the AST internally, runs the transformation engine and generates output at the end. The DSL is still developed in MPS itself. With this I want to:
  1. Support legacy textual scripts written in a specific DSL (the DSL itself has been ported to/reimplemented in MPS)
  2. Support the automated continuous integration process

Does MPS support automation scenarios in any way or can transformations only be triggered by users manually?

Although MPS provides Ant tasks for generating, compilation, testing and packaging languages modules, I'm afraid a scenario that would involve parsing and processing a script is currently not supported.
Do you know if this is planned for any upcoming release or if this kind of scenario is considered at all?
We do not have any plans in this area at the moment.
I have a related question.

From MPS' roadmap
Q2 2016 — MPS 4.0 Improved projectional editor with partial parsing support. New, simplified languages for DSL design

What is meant by partial parsing support?
We're thinking about ways to further polish the projectional editor, especially for expression editing, perhaps by implementing some sort of restricted parsing capabilities into it. This is currently at a very early stage of disputes and experiments.

The new simplified languages for DSL definition should mostly focus on easing the structure and editor definition, especially to reduce the need for manual interventions through the Actions aspect.

Please sign in to leave a comment.