Given a language, the pattern defines a represention for its grammar along with an interpreter that uses the representation to interpret sentences in the language. The Interpreter pattern has behavioral purpose and applies to the classes.
- when the grammar is simple (in case of complex grammars, there are better alternatives)
- efficiency is not a critical concern