Any good software engineer will tell you that a compiler and an interpreter are interchangeable.
—Tim Berners-Lee
The goal of the Interpreter design pattern is, you guessed it, to interpret input, particularly textual input, although to be fair it really doesn’t matter. The notion of an Interpreter is greatly linked to compiler theory and similar courses taught at universities. Since we don’t have nearly enough space here to delve into the complexities of different types of parsers and whatnot, the purpose of this chapter is to simply show some examples of the kinds ...