usage w/o parser gen
MPS looks like awsome system. From what I understand, there is no parser generator, so defined languages must be entered only inside of the MPS editor, correct? I'm trying to understand how this is generally useful from a toolchain perspective - if I can't generate my defined language in text via external tools, integrate transformation into a build process, etc.
Also an issue is the Java-centricity and the need to extend a language in order to generate it (if I understand correctly.)
Though I'd of course rather have a free tool, we are looking for a suitable MP tool (including the use of the projectional editor), and would gladly pay well for a commercial product with a suitable feature-set. I apologize ahead of time for any misconceptions.
thanks
Also an issue is the Java-centricity and the need to extend a language in order to generate it (if I understand correctly.)
Though I'd of course rather have a free tool, we are looking for a suitable MP tool (including the use of the projectional editor), and would gladly pay well for a commercial product with a suitable feature-set. I apologize ahead of time for any misconceptions.
thanks
Please sign in to leave a comment.
But you can call MPS generator from command line and integrate this step in your build.
Java centricity could be an issue, and as far as I understand, implementing another language in MPS is possible but rather complex task. I personally wouldn't dare.
Most of the tools necessary for using MPS as standard IDE for your programs were already developed by JetBRains team. It is possible to use version control to store/diff/merge MPS models - MPS will display merge/diff dialogs for the "projected" content of the model, so it will looks again like a text editor with actual DSL syntax in it. It is possible to rung code generation from command line and execute unit-tests from there. In case you start facing some problems with anything else - just file a feature request for us.
I usually create some parser within the behavior aspect and call it from the node factory actions.
I'll try to explain my case. I'm developing some big system and its configuration process is as complicated as programming process (there are a lot of property files, xml files of different schemas, xslt transformations and so on).
I'd like to provide some tool for my colleagues and clients for editing this configuration (or its part).
Firstly I have to migrate all configurations into MPS model, than I have to replace some standard configuration in the VCS with its model and teach my application to generate actual configuration from model in the runtime. And after all I have to teach everybody to work with MPS.
In fact some people still prefer to edit configuration with the Far manager, because it's lightweight, simple and stable.
The only solution for me is to provide some tool that can open the existing configuration(parse it), show it with the projective editor (model, autocompletion, validation and so on) and finally save the configuration (generate from model).
It's very hard to introduce new primary source and move old sources to "autogenerated" within the complicated production system.
We are going to support mapping nodes to whatever file format the user wants, so that one could be able to load and save models directly from/to a text file, for example (assuming that you can write a parser to load the model). That's exactly what's done for stub models, plus custom "save" method.
Mihail