大话设计模式笔记 解释器模式

 

解释器模式(interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。

 

 

编译原理的内容,定义一种语言,总结其文法,将其翻译成另一种语言(代码)。

 

package interpreter;

public abstract class AbstractExpression {
    
    public abstract void interpret(String context);
    
}

 

package interpreter;

public class NonTerminalExpression extends AbstractExpression{

    @Override
    public void interpret(String context) {
        System.out.println("NonTerminalExpression "+context);
    }

}

 

package interpreter;

import java.util.ArrayList;

//终结符表达式,对终结符的解释操作。
public class TerminalExpression extends AbstractExpression {

    @Override
    public void interpret(String context) {
        //对终结符的解释操作。
        System.out.println("TerminalExpression "+context);
    }

    public static void main(String[] args) {
        String context="context";
        
        ArrayList<AbstractExpression> expressions=new ArrayList<AbstractExpression>();
        
        expressions.add(new TerminalExpression());
        expressions.add(new NonTerminalExpression());
        expressions.add(new TerminalExpression());
        expressions.add(new TerminalExpression());
        
        for (AbstractExpression abstractExpression : expressions) {
            abstractExpression.interpret(context);
        }
    }
}

 

复杂的文法,应该使用语法分析程序。

posted @ 2015-10-11 10:55  郁闷紫番薯  阅读(176)  评论(0编辑  收藏  举报