Skip to content

解释器模式 #227

Open
Open
@louzhedong

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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions