Behavioral Patterns  «Prev  Next»

Interpreter Pattern

The Interpreter pattern interprets a language to define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language. The following diagram illustrates the Interpreter pattern.

Interpreter Pattern contains the TerminalExpression and NonterminalExpression class that inherit from AbstractExpression.

Interpreter Pattern Java Code


The following lists the benefits of using the Interpreter pattern:
  1. Easy to change and extend the grammar
  2. Implementing the grammar is easy

When to Use:

You should use the Interpreter pattern when:
  1. The grammar of the language is simple.
  2. Efficiency is not a critical concern.
Interpreter Pattern: Useful when the objective is to provide a client program or a user the ability to specify operations in a simple language. Helps in interpreting operations specified using a language, using its grammar. More suitable for languages with simple grammar