Chapter 3. Languages and Mograms

Language is the most important of all the instruments of civilization.

—Charles Kay Ogden (1889–1957) and Ivor Armstrong Richards (1893–1979), British philosophers and linguists

In this chapter, you will learn what a language and a linguistic utterance are. The chapter explains that a DSL must be treated the same as any other software language and what the abstraction level of a language is.

3.1 What Is a Language?

When you want to become a language engineer, you need to answer one fundamental question: What is a language? Luckily for us, formal language theory uses an excellent, simple definition of what a language is. (See, for instance, Hopcroft and Ullman 1979.) I adhere to this definition, ...

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.