The Interpreter design pattern solves problems like:
How can a grammar for a simple language be defined
so that sentences in the language can be interpreted?
See Applicability section for all problems Interpreter can solve. See Solution section for how Interpreter solves the problems.