Source: http://www.vincehuston.org/dp/interpreter.html
## Intent
- Given a language, define a representation for its grammer along with an interpreter that uses that representation to interpret sentences in the language.
- Map a domain to a language, the language to a grammar, and the grammer to a hierarchical object-oriented design.
## Problem
A class of problems occurs repeatedly in a well-defined and well-understood
domain. If the domain were characterized with a "language", then problems
could easily be solved with an interpretation "engine".
## Example
The Interpreter pattern defines a grammatical representation for a language and
an interpreter to interpret the grammar. Musicians are examples of Interpreters.
The pitch of a sound and its duration can be represented in musical notation on
a staff. This notation provides the language of music. Musicians playing the
music from the score are able to reproduce the original pitch and duration of
each sound represented.