Chapter 5. Metamodeling

My freedom will be so much the greater and more meaningful the more narrowly I limit my field of action and the more I surround myself with obstacles. Whatever diminishes constraint diminishes strength. The more constraints one imposes, the more one frees one’s self of the chains that shackle the spirit.

—Igor Stravinsky Russian composer (1882–1971)

In the remainder of this book, I use metamodeling as the formalism to specify software languages: that is, one metamodel to specify the abstract syntax (see Chapter 6), one metamodel to specify (parts of) the concrete syntax (see Chapter 7), and in some cases, an extra metamodel to specify (parts of) the semantics (see Chapter 9). Because metamodeling is such an ...

Get Software Language Engineering: Creating Domain-Specific Languages Using Metamodels now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.