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 保爾任 閱讀(506) 評論(0)  編輯  收藏 所屬分類: Design Patten

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 普格县| 敦化市| 醴陵市| 塔河县| 洞口县| 晋城| 四会市| 定襄县| 烟台市| 泸定县| 达日县| 无极县| 洪洞县| 图们市| 漳州市| 文成县| 嫩江县| 新民市| 房产| 乡宁县| 贵定县| 石城县| 溧阳市| 新竹市| 延津县| 塘沽区| 高陵县| 金山区| 邛崃市| 偏关县| 莱芜市| 米脂县| 成安县| 兴和县| 金寨县| 德令哈市| 金湖县| 东至县| 鄱阳县| 夏邑县| 南平市|