国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 阿拉尔市| 香河县| 胶州市| 黄陵县| 济南市| 华容县| 许昌市| 神农架林区| 咸阳市| 弥勒县| 衡南县| 济阳县| 台北县| 会同县| 普格县| 红桥区| 祁东县| 新丰县| 道孚县| 文昌市| 玉门市| 安西县| 得荣县| 东兴市| 江油市| 南汇区| 郎溪县| 吉林市| 外汇| 潼南县| 抚顺县| 攀枝花市| 长沙市| 谢通门县| 凤台县| 镇巴县| 南澳县| 建湖县| 广宗县| 宜川县| 锡林浩特市|