Open
Description
解释器模式
解析器是一种按照规定语法进行解析的方案
定义如下:
给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子
优点:拓展性
缺点:引起类膨胀,递归调用,效率低
实现
Java
public class Context {
}
/**
* 抽象表达式
**/
public abstract class Expression {
public abstract Object interpreter(Context context);
}
/**
* 终结符表达式
**/
public class TerminalExpression extends Expression{
@Override
public Object interpreter(Context context) {
return null;
}
}
/**
* 非终结符表达式
**/
public class NonTerminalExpression extends Expression{
public NonTerminalExpression(Expression...expression){}
@Override
public Object interpreter(Context context) {
return null;
}
}
Metadata
Assignees
Labels
No labels