国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java設(shè)計(jì)模式之解釋器模式(Interpreter模式)介紹

2019-11-26 15:17:01
字體:
供稿:網(wǎng)友

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

Interpreter似乎使用面不是很廣,它描述了一個(gè)語言解釋器是如何構(gòu)成的,在實(shí)際應(yīng)用中,我們可能很少去構(gòu)造一個(gè)語言的文法。我們還是來簡單的了解一下。

首先要建立一個(gè)接口,用來描述共同的操作。

復(fù)制代碼 代碼如下:

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

再看看包含解釋器之外的一些全局信息

復(fù)制代碼 代碼如下:

public interface Context { }

AbstractExpression的具體實(shí)現(xiàn)分兩種:終結(jié)符表達(dá)式和非終結(jié)符表達(dá)式。
    public class TerminalExpression implements AbstractExpression {
   public void interpret( Context context ) { }
    }

對于文法中沒一條規(guī)則,非終結(jié)符表達(dá)式都必須的:
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 ) { }
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 延津县| 东阳市| 隆昌县| 开阳县| 濮阳市| 海林市| 吴川市| 兴安县| 合肥市| 西城区| 呼伦贝尔市| 辰溪县| 遂溪县| 乌兰浩特市| 志丹县| 盐亭县| 南充市| 乐清市| 错那县| 泰州市| 定安县| 阿勒泰市| 利川市| 车险| 五家渠市| 平塘县| 临高县| 兴山县| 林州市| 南通市| 靖西县| 千阳县| 贺州市| 长乐市| 永靖县| 保靖县| 南充市| 龙川县| 莎车县| 建昌县| 芦山县|