Interpreter(直譯器模式)

2021-05-26 06:56:33 字數 460 閱讀 8015

名  稱 

interpreter(直譯器模式) 

意  圖 

給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子。 

適  用 

環  境 

u       當有乙個語言需要解釋執行, 並且你可將該語言中的句子表示為乙個抽象語法樹時,可使用直譯器模式。而當存在以下情況時該模式效果最好: 

u       該文法簡單對於複雜的文法, 文法的類層次變得龐大而無法管理。此時語法分析程式生成器這樣的工具是更好的選擇。它們無需構建抽象語法樹即可解釋表示式, 這樣可以節省空間而且還可能節省時間。 

u       效率不是乙個關鍵問題最高效的直譯器通常不是通過直接解釋語法分析樹實現的, 而是首先將它們轉換成另一種形式。例如,正規表示式通常被轉換成狀態機。但即使在這種情況下, 轉換器仍可用直譯器模式實現, 該模式仍是有用的。 

結  構 

Interpreter直譯器模式

關於23種設計模式的所有示例 請參考 本文所述 請參考 mydb interpreter 如上圖所示 終結直譯器是 geexpression,hundredexpression 非終結直譯器有 thousandexpression,millionexpression,billionexpressio...

直譯器模式 interpreter

直譯器模式,給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子。直譯器模式提供了評估語言的語法或表示式的方式,它屬於行為型模式。這種模式實現了乙個表示式介面,該介面解釋乙個特定的上下文。這種模式被用在 sql 解析 符號處理引擎等。演奏內容類 class ...

直譯器 Interpreter 模式

size large 直譯器模式是一種行為模式,比較通用的定義 給定乙個語言之後,直譯器模式可以定義出其文法的一種表示,並同時提供乙個直譯器。客戶端可以使用這個直譯器來解釋這個語言中的句子 spring的express中就使用了這種設計模式。直譯器模式的本質就是解釋自定義了的語言,其中涉及三個概念 ...