My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > 程序开发 > 编程语言 > Java > 设计模式
设计模式袖珍版 连续转载之 - Interpreter(解释器)
作者:未知 时间:2005-07-24 21:24 出处:JR 责编:My FAQ
              摘要:设计模式袖珍版 连续转载之 - Interpreter(解释器)
原作:fanix

Interpreter定义:
定义语言的文法 ,并且建立一个解释器来解释该语言中的句子.

Interpreter似乎使用面不是很广,它描述了一个语言解释器是如何构成的,在实际应用中,我们可能很少去构造一个语言的文法.我们还是来简单的了解一下:

首先要建立一个接口,用来描述共同的操作.
程序代码:

  1. public interface AbstractExpression { 
  2.    void interpret( Context context ); 


再看看包含解释器之外的一些全局信息
程序代码:

public interface Context { } 

AbstractExpression的具体实现分两种:终结符表达式和非终结符表达式:

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


对于文法中没一条规则,非终结符表达式都必须的:
程序代码:

  1. public class NonterminalExpression implements AbstractExpression { 
  2.    private AbstractExpression successor; 
  3.   
  4.    public void setSuccessor( AbstractExpression successor ) { 
  5.      this.successor = successor; 
  6.    } 
  7.    public AbstractExpression getSuccessor() { 
  8.      return successor; 
  9.    }
  10.    public void interpret( Context context ) { } 

 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有
PT>