您的位置:首页 > 其它

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

2015-10-11 10:55 204 查看
解释器模式(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);
}
}
}


复杂的文法,应该使用语法分析程序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: