All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can’t get them together again, there must be a reason. By all means, do not use a hammer.
—IBM maintenance manual, 1925
This chapter identifies what elements should be in a language specification, explains how to create a language specification, and describes what a language specification has to do with model transformations.
When you want to know how to create languages, you need to know how to describe a language. What is your result: a document, a set of tools, both? I think that we need both, but the language-specification ...