C 設計模式 直譯器(Interpreter)

2021-08-14 09:11:27 字數 918 閱讀 9182

給定乙個語言,定義它文法的一種表示,並定義乙個直譯器,用於解釋該表示。

主要組成:

abstractexpression-抽象表示式

terminalexpression-終止符表示式

nonterminalexpression-非終止符表示式

context-上下文

using system;

namespace interpreter

/// /// 布林表示式

///

class booleanexp : expressionclass

public override bool interpret()

}/// /// 或表示式

///

class orexp : expressionclass

public override bool interpret()

}/// /// 與表示式

///

class andexp : expressionclass

public override bool interpret()}}

呼叫:

using system;

namespace interpreter}}

結果:

c 設計模式 直譯器模式

直譯器模式 interpreter 定義了乙個類體系,用於實現乙個小型語言的直譯器。它與組合模式很相似,而且常常利用組合模式來實現語法樹的構建。good 通常當乙個語言需要解釋執行,並且你可以將該語言中的句子表示成為乙個抽象的語法樹時,可以使用直譯器模式。res c 實現 include inclu...

設計模式 直譯器模式(C 實現)

直譯器模式 interpreter pattern 提供了評估語言的語法或表示式的方式,屬於行為型模式。這種模式實現了乙個表示式介面,該介面解釋乙個特定的上下文。常被用在 sql 解析 符號處理引擎等。1 當有乙個語言需要解釋執行 並且你可將該語言中的句子表示為乙個抽象語法樹時,可使用直譯器模式。而...

設計模式 二十 直譯器模式 C

直譯器模式需要解決的是,如果一種特定型別的問題發生的頻率足夠高,那麼可能就值得將該問題的各個例項表述為乙個簡單語言中的句子。這樣就可以構建乙個直譯器,該直譯器通過解釋這些句子來解決該問題。當有乙個語言需要解釋執行,並且你可將該語言中的句子表示為乙個抽象語法樹時,可使用直譯器模式。include in...