Java与模式笔记(27)
来源:互联网 发布:nginx视频防盗链 编辑:程序博客网 时间:2024/06/05 23:44
解释器(Interpreter)模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。
解析模式结构与角色:
抽象表达式(Expression)角色:声明一个所有的具体表达式角色都需要实现的抽象接口。这个接口主要是interpret()方法,称做解释操作。
终结符表达式(Terminal Expression)角色:这是一个具体角色。实现了抽象表达式角色所要求的接口,主要是一个interpret()方法;文法中的每一个终结符都有一个具体终结表达式与之相对应。
非终结符表达式(Nonterminal Expression)角色:这是一个具体角色。文法中的每一条规则R=R1R2…Rn都需要一个具体的非终结符表达式类;对每一个R1R2…Rn中的符号都持有一个静态类型Expression的实力变量;实现解释操作,即interpret()方法。解释操作以递归方式调用上面所提到的代表R1R2…Rn中的各个符号的实例变量。
客户端(Client)角色:代表模式的客户端有以下功能:建造一个抽象语法树(AST或者Abstract Syntax Tree);调用解释操作interpret()。
一般情况下,模式还需要环境(Context)角色:提供解释器之外的一些全局信息,比如变量的真实量值等。
解释其模式适用于以下的情况:
1、 系统有一个简单的语言可供解释。
2、 一些重复发生的问题可以用这种简单的语言表达。
效率不是主要的考虑。
- Java与模式笔记(27)
- 《java与模式》笔记
- 《Java与模式》笔记
- java与模式学习笔记(一)
- Java与设计模式 (笔记一)
- Java与模式笔记(1)
- Java与模式笔记(2)
- Java与模式笔记(3)
- Java与模式笔记(4)
- Java与模式笔记(5)
- Java与模式笔记(6)
- Java与模式笔记(7)
- Java与模式笔记(8)
- Java与模式笔记(9)
- Java与模式笔记(10)
- Java与模式笔记(11)
- Java与模式笔记(12)
- Java与模式笔记(13)
- MySQL 数据库的备份和恢复
- 如何在添加文章作者的相关作品
- MySQL 数据库的备份和恢复
- 一个简单的导出EXCEL文件的程序
- UML关系 图示
- Java与模式笔记(27)
- 最热门的敏捷书籍[转]
- Java与模式笔记(28)
- silverlight 学习一
- 解决用QtCreator编译examples时出现的错误
- 探索手机五大新商业模式 专家建议UI设计“六要五不要”
- 聘聘网
- 一个可以显示图片(包括GIF动画)的ATL控件,以及在RichEdit中如何使用此控件插入图片
- ibaits插入即获取主键(mssql,mysql,oracle)