Chapter 2: Programming Language Design
Before trying to build a programming language, you need to define it. This includes the design of the features of the language that are visible on its surface, including basic rules for forming words and punctuation. This also includes higher-level rules, called syntax, that govern the number and order of words and punctuation in larger chunks of programs, such as expressions, statements, functions, and programs. Language design also includes the underlying meaning, also known as semantics.
Programming language design often begins by writing example code to illustrate each of the important features of your language, as well as show the variations that are possible for each construct. Writing examples with a critical eye lets you find and fix many possible inconsistencies in your initial ideas. From these examples, you can then capture the general rules that each language construct follows. Write down sentences that describe your rules as you...