#include #include #include using namespace std;
//直譯器模式:給定乙個語言後,直譯器模式可以定義出其文法的一種表示,
//並同時提供乙個直譯器。客戶端可以使用這個直譯器來解釋這個語言中的句子。
//直譯器模式將描述怎樣在有了乙個簡單的文法後,使用模式設計解釋這些語句。
//在直譯器模式裡面提到的語言是指任何直譯器物件能夠解釋的任何組合。
//在直譯器模式中需要定義乙個代表文法的命令類的等級結構,
//也就是一系列的組合規則。每乙個命令物件都有乙個解釋方法,
//代表對命令物件的解釋。命令物件的等級結構中的物件的任何排列組合都是乙個語言。
//照著上面的指令碼執行就可以了。
class context;
class abstractexpression
;class terminalexpression :public abstractexpression
};class nonterminalexpression :public abstractexpression
};class context
;int main()
cin.get();
return 0;
}
直譯器模式
include include include include include using namespace std 直譯器模式 給定一種語言,定義它的文法的一種表示,並定義乙個直譯器 該直譯器使用該表示來解釋語言中的句子 類似於程式語言或者指令碼 假設情景是乙個指令碼控制系統 wasd上下左右方...
直譯器模式
1 模式定義 直譯器模式 interpreter pattern 定義語言的文法,並且建立乙個直譯器來解釋該語言中的句子,這裡的 語言 意思是使用規定格式和語法的 它是一種類行為型模式。2 模式結構 直譯器模式包含如下角色 abstractexpression 抽象表示式 terminalexpre...
直譯器模式
給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子。要解決的問題 如果一種特定型別的問題發生的頻率足夠高,那麼可能就值得將該問題的各個例項表述為乙個簡單語言中的句子。這樣就可以構造乙個直譯器,該直譯器通過解釋這些句子來解決該問題。的好處 當有乙個語言需要解...