I could not resist to experiment with grammar to MPS concept translation.
So I wrote a trivial grammar (an ANTLR one very similar to ANTLR itself), I made some test with Actions and Tools, I created some concepts through "new node<ConceptDeclaration>" and enum declaration into an existing empty language.
It's a trivial one but I want first to focus on the overall engine.
Then I imagine another strategy: write a language to allocate the import of the grammar file, than from this model generate ConceptDeclaration, editors ecc of another language using generator/templates.
I think this way is more powerfull and it will result in a clearer implementation.
The drawback will be that one could not "refresh" an existing language using an updated grammar.
Whereas, in theory, I can update an existing language through API during import apply only differences with respect to the existing concepts.
Can this second way possibly works?
If yes, how can be persisted (into a real language) the transient objects (ConceptDeclaration, ConceptEditorDeclaratio, ecc) created by the generator? Thx, Mar