欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

23種設(shè)計模式(15)java解釋器模式-創(chuàng)新互聯(lián)

23種設(shè)計模式第十五篇:java解釋器模式

在銅官等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需網(wǎng)站設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,全網(wǎng)整合營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),銅官網(wǎng)站建設(shè)費用合理。

定義:給定一種語言,定義他的文法的一種表示,并定義一個解釋器,該解釋器使用該表示來解釋語言中句子。

類型:行為類模式

類圖:


        解釋器模式是一個比較少用的模式,本人之前也沒有用過這個模式。下面我們就來一起看一下解釋器模式。

解釋器模式的結(jié)構(gòu)

抽象解釋器:聲明一個所有具體表達(dá)式都要實現(xiàn)的抽象接口(或者抽象類),接口中主要是一個interpret()方法,稱為解釋操作。具體解釋任務(wù)由它的各個實現(xiàn)類來完成,具體的解釋器分別由終結(jié)符解釋器TerminalExpression和非終結(jié)符解釋器NonterminalExpression完成。

終結(jié)符表達(dá)式:實現(xiàn)與文法中的元素相關(guān)聯(lián)的解釋操作,通常一個解釋器模式中只有一個終結(jié)符表達(dá)式,但有多個實例,對應(yīng)不同的終結(jié)符。終結(jié)符一半是文法中的運算單元,比如有一個簡單的公式R=R1+R2,在里面R1和R2就是終結(jié)符,對應(yīng)的解析R1和R2的解釋器就是終結(jié)符表達(dá)式。                               


非終結(jié)符表達(dá)式:文法中的每條規(guī)則對應(yīng)于一個非終結(jié)符表達(dá)式,非終結(jié)符表達(dá)式一般是文法中的運算符或者其他關(guān)鍵字,比如公式R=R1+R2中,+就是非終結(jié)符,解析+的解釋器就是一個非終結(jié)符表達(dá)式。非終結(jié)符表達(dá)式根據(jù)邏輯的復(fù)雜程度而增加,原則上每個文法規(guī)則都對應(yīng)一個非終結(jié)符表達(dá)式。

環(huán)境角色:這個角色的任務(wù)一般是用來存放文法中各個終結(jié)符所對應(yīng)的具體值,比如R=R1+R2,我們給R1賦值100,給R2賦值200。這些信息需要存放到環(huán)境角色中,很多情況下我們使用Map來充當(dāng)環(huán)境角色就足夠了。

代碼實現(xiàn)


class Context {} 
 abstract class Expression { 
  public abstract Object interpreter(Context ctx); 
 } 
 class TerminalExpression extends Expression { 
  public Object interpreter(Context ctx){ 
   return null; 
  } 
 } 
 class NonterminalExpression extends Expression { 
  public NonterminalExpression(Expression...expressions){ 
    
  } 
  public Object interpreter(Context ctx){ 
   return null; 
  } 
 } 
 public class Client { 
  public static void main(String[] args){ 
   String expression = ""; 
   char[] charArray = expression.toCharArray(); 
   Context ctx = new Context(); 
   Stack<Expression> stack = new Stack<Expression>(); 
   for(int i=0;i<charArray.length;i++){ 
    //進行語法判斷,遞歸調(diào)用 
   } 
   Expression exp = stack.pop(); 
   exp.interpreter(ctx); 
  } 
 }

網(wǎng)站題目:23種設(shè)計模式(15)java解釋器模式-創(chuàng)新互聯(lián)
分享地址:http://aaarwkj.com/article34/jdepe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷定制網(wǎng)站、軟件開發(fā)、搜索引擎優(yōu)化營銷型網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
男女激情视频久久精品| 人妻少妇被粗大爽av| 亚洲 欧美 日韩一区| 海外成人永久免费视频| 伊人激情一区二区三区| 日本一区二区国产在线| 亚洲一区欧美日韩91| 日韩三级一区二区三区| 日韩精品中文字幕人妻系列| avav男人天堂亚洲天堂| 国产一级无码免费视频| 一区二区尤物区亚洲国产精品区| 亚洲国产一区二区精品| 日韩精品一二三黄色一级| 粗长挺进新婚人妻诗岚| 国产精品综合久久久久久| 欧美内射专区精品一区| 色琪琪原网另类欧美日韩| 亚洲精品最新地址久久久| 禁区正片免费看完整国产| 日本亚洲欧洲一区二区| 男人天堂在线视频网站| 夜夜高潮夜夜爽免费观看| 久久久久久国产精品亚洲| 国产好大好爽在线免费观看| 欧美精品黄片免费在线观看| 亚洲av丰满熟妇在线观看| 国产三级在线观看视频| 久久夜色噜噜噜av一区| 亚洲综合激情另类专区| 色婷婷国产精品高潮呻吟| 亚洲日本精品免费在线观看| 熟妞人妻精品一区二区视频 | 午夜少妇福利在线观看| 中文字幕日韩精品亚洲精品| 青青草原在线观看网站| 在线不卡日本v二区到六区| 亚洲乱码国产乱码精品| 久久伊人亚洲精品中文字幕| 免费国产中文字幕黄网站| 精品人妻一区二区三区四|