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 Abstractexpression {
void interpret (context context);
}
And look at some of the global information that contains the interpreter.
Public interface Context {}
The specific implementation of abstractexpression is divided into two types: Terminator expressions and non-terminator expressions:
public class Terminalexpression implements Abstractexpression {
public void interpret (context context) {}
}
For no rule in grammar, non-terminator expressions are required:
public class Nonterminalexpression implements Abstractexpression {
Private Abstractexpression successor;
public void Setsuccessor (Abstractexpression successor) {
This.successor = successor;
}
Public Abstractexpression Getsuccessor () {
return successor;
}
public void interpret (context context) {}