Interpreter definition: Define the grammar of the language and create an interpreter to interpret the sentences in that language.
Interpreter seems to use the surface is not very wide, it describes how a language interpreter is constituted, in practical applications, we may rarely construct a language grammar. Let's just take a quick look.
The first thing to do is to create an interface to describe the common operation.
Public Interface void interpret (context context);
And look at some of the global information that contains the interpreter.
Public Interfacethe specific implementation of the Context {}abstractexpression is divided into two types: Terminator expressions and non-terminator expressions. Public classTerminalexpressionImplementsabstractexpression { Public voidinterpret (context context) {}} There is no rule in grammar, and non-terminator expressions are required: Public classNonterminalexpressionImplementsabstractexpression {PrivateAbstractexpression successor; Public voidSetsuccessor (abstractexpression successor) { This. successor =successor; } Publicabstractexpression getsuccessor () {returnsuccessor; } Public voidinterpret (context context) {}}
Java interpreter mode (interpreter mode)