Inber

学习计算机科学,在科技驱动的世界里用计算机的思维技巧去武装自己.

設計模式之Interpreter(解釋器)

 

Interpreter定義:
定義語言的文法 ,並且建立一個解釋器來解釋該語言中的句子。

Interpreter似乎使用面不是很廣,它描述了一個語言解釋器是如何構成的,在實際應用中,我們可能很少去構造一個語言的文法。我們還是來簡單的瞭解一下:

首先要建立一個介面,用來描述共同的操作。

public interface AbstractExpression {
  
void interpret( Context context );
}

再看看包含解釋器之外的一些全局資訊

public interface Context { }

AbstractExpression的具體實現分兩種:終結符運算式和非終結符運算式:

public class TerminalExpression implements AbstractExpression {
  
public void interpret( Context context ) { }
}

對於文法中沒一條規則,非終結符運算式都必須的:
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 ) { }
}

posted on 2004年06月24日 8:13 PM

阅读更多
文章标签: interface class
个人分类: Inber's JAVA 收藏
想对作者说点什么? 我来说一句

ERP的精辟解釋

2008年03月04日 2KB 下载

形位公差的通用解釋.doc

2010年06月13日 202KB 下载

win7服務全解釋win7服務全解釋

2010年06月04日 93KB 下载

ASP.NET的命名空間解釋

2008年03月04日 2KB 下载

操作介面设计模式(内容详细)

2009年03月15日 15.41MB 下载

没有更多推荐了,返回首页

不良信息举报

設計模式之Interpreter(解釋器)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭