posts - 73,  comments - 55,  trackbacks - 0

          Interpreter解釋器模式定義:
          定義語言的文法 ,并且建立一個解釋器來解釋該語言中的句子.(后面不用看了)

          Interpreter似乎使用面不是很廣,它描述了一個語言解釋器是如何構成的,在實際應用中,我們可能很少去構造一個語言的文法.我們還是來簡單的了解一下:

          首先要建立一個接口,用來描述共同的操作.

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

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

          public interface Context { }

          AbstractExpression的具體實現分兩種:終結符表達式和非終結符表達式:

          public class TerminalExpression implements AbstractExpression {
             public void interpret( Context context ) { }
          }

          對于文法中每一條規則,非終結符表達式都必須的:
          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 ) { }
          }

          posted on 2006-08-01 11:45 保爾任 閱讀(501) 評論(0)  編輯  收藏 所屬分類: Design Patten

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宣武区| 昌平区| 丹东市| 班玛县| 十堰市| 南乐县| 西昌市| 绥宁县| 洞口县| 苍溪县| 依安县| 嘉义县| 临澧县| 张北县| 靖州| 商城县| 林州市| 红桥区| 金堂县| 嵊泗县| 峨眉山市| 杭锦旗| 涪陵区| 肃南| 浦江县| 尉氏县| 从江县| 吉木萨尔县| 屯门区| 娱乐| 古田县| 新邵县| 增城市| 许昌市| 定南县| 娄底市| 黑龙江省| 鄢陵县| 南陵县| 大厂| 云林县|