Hello. First, I'd like to say I'm very excited about the promise of MPS. I'm starting with the tutorial @ http://www.jetbrains.com/mps/docs/tutorial.html
I've made it through the tutorial, everything works, but I have a two areas that I don't exactly understand what I've done. I'd appreciate any clarification you could provide.
First. In the Generator section where we are asked to label field declarations. I'm unclear as to why this is necessary. Just to see the difference it had on the generated source code, I did NOT create any labels, or reference them in my input/output fields. The generated code was THE SAME as when the labels were there. Is this just to illustrate a concept that will be important with more complicated generators?
Second. In the section where the $COPY_SRC$ macro is used. Is there any further detail as to what is exactly happening in the reduction rule. I'm unclear as to the statement int i; i = i + 1; What does i = i + 1 have to do with anything? Is this just some sort of dummy statement to make sure that i is used? Could you clarify how the reduction rule is applied and how the template fragment is used?
Third. After completing the tutorial, what is the next logical step to enhance my learning? Move on to the user guide?
Thanks in advance for any input.