当前位置: 首页 > news >正文

英文建站网络培训思想汇报大学生

英文建站,网络培训思想汇报大学生,中国软件公司排名,黄页网页的推广目录 一. 前言 二. 实现 三. 优缺点 一. 前言 解释器模式#xff08;Interpreter Pattern#xff09;指给定一门语言#xff0c;定义它的文法的一种表示#xff0c;并定义一个解释器#xff0c;该解释器使用该表示来解释语言中的句子#xff0c;属于行为型设计模式。是…目录 一. 前言 二. 实现 三. 优缺点 一. 前言 解释器模式Interpreter Pattern指给定一门语言定义它的文法的一种表示并定义一个解释器该解释器使用该表示来解释语言中的句子属于行为型设计模式。是一种按照规定的文法语法进行解析的模式。其核心思想就是识别文法构建解释。 二. 实现 TerminalExpression: 终结符表达式每个终结符都需要一个 TerminalExpression。 NonterminalExpression非终结符表达式实现文法中与非终结符有关的解释操作。 Context: 上下文包含解释器之外的一些全局信息。 案例以下是一个规则检验器实现具有 and 和 or 规则通过规则可以构建一颗解析树用来检验一个文本是否满足解析树定义的规则。 例如一颗解析树为 D And (A Or (B C))文本 D A 满足该解析树定义的规则。 这里的 Context 指的是 String。 public abstract class Expression {public abstract boolean interpret(String str); } public class TerminalExpression extends Expression {private String literal null;public TerminalExpression(String str) {literal str;}public boolean interpret(String str) {StringTokenizer st new StringTokenizer(str);while (st.hasMoreTokens()) {String test st.nextToken();if (test.equals(literal)) {return true;}}return false;} } public class AndExpression extends Expression {private Expression expression1 null;private Expression expression2 null;public AndExpression(Expression expression1, Expression expression2) {this.expression1 expression1;this.expression2 expression2;}public boolean interpret(String str) {return expression1.interpret(str) expression2.interpret(str);} } public class OrExpression extends Expression {private Expression expression1 null;private Expression expression2 null;public OrExpression(Expression expression1, Expression expression2) {this.expression1 expression1;this.expression2 expression2;}public boolean interpret(String str) {return expression1.interpret(str) || expression2.interpret(str);} } public class Client {/*** 构建解析树*/public static Expression buildInterpreterTree() {// LiteralExpression terminal1 new TerminalExpression(A);Expression terminal2 new TerminalExpression(B);Expression terminal3 new TerminalExpression(C);Expression terminal4 new TerminalExpression(D);// B CExpression alternation1 new OrExpression(terminal2, terminal3);// A Or (B C)Expression alternation2 new OrExpression(terminal1, alternation1);// D And (A Or (B C))return new AndExpression(terminal4, alternation2);}public static void main(String[] args) {Expression define buildInterpreterTree();String context1 D A;String context2 A B;System.out.println(define.interpret(context1));System.out.println(define.interpret(context2));} } true false 三. 优缺点 优点 1. 由于语法由很多类表示所以当语法规则或者扩展语法时只需要修改或者扩展表达式即可。 2. 对于简单的文法应当比较简单且易于实现过于复杂的语法并不适合解释器模式。 缺点 1.由于语法由很多类表示过于复杂时会产生大量的解释类引起类臃肿增加系统维护的难度。 2. 解释器模式采用递归调用方法当完整表达式层级较深时解释效率会下降。 JDK中的解释器模式 java.util.Pattern java.text.Normalizer javax.el.ELResolver
http://www.dnsts.com.cn/news/117018.html

相关文章:

  • 重庆网络公司网站建设网站建设具体要求
  • 淄博市网站云平台免费的h5制作网站模板
  • 交钱做网站对方拿了钱不做该怎么办网站开发都有什么端
  • 铁岭公司做网站高端品牌服装有哪些
  • 网站404怎么做网站建设技术合同
  • 宝塔建站网址专门做图的网站
  • 做网站的关键词网站备案公司
  • 购买了网站如何使用承德建设工程信息网站
  • 怎样做网站卖自己的产品wordpress远程保存图片
  • 网站设计需求模板运用搜索引擎营销的案例
  • 广东高端建设网站做福利网站违法吗
  • 常州网站公司大连开发区七中
  • 网站建设必会的软件有哪些建设科技信息 网站建设
  • 自己做抽奖网站违法推广员是什么工作
  • 自己做的网站 jen旧衣收购哪个网站做的好
  • 网站建设需要购买服务器么基于 wordpress
  • 品牌设计网站网页设计论文初稿
  • 烟台电子商务产业园网站建设建模网站
  • 口碑好的天津网站建设全网网站推广
  • 旅游网站规划建设海宁营销型网站设计
  • 人才招聘网站模板html网站建设的财务计划
  • 用vs2010做免费网站模板下载手机网站建设需要多少钱
  • 可以做cps合作的棋牌网站6自适应网站做mip改造
  • 问问建设网站的人网站规划建设实训
  • 网站建设系统wordpress视频无法播放视频
  • 做网站大记事代码设计公司网站需要考虑什么
  • 学院网站建设的作用网站制作成功后怎么使用
  • 惠州市网站建设个人成品短视频app大全
  • 社团的工商年检网站在哪里做甘肃锦华建设集团网站
  • 烟台房产网站建设树莓派lamp WordPress