?? 解釋器(Interpreter)模式:給定一個語言,定義它的文法的一種表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。
適用性:當(dāng)有一個語言需要解釋執(zhí)行, 并且你可將該語言中的句子表示為一個抽象語法樹時,可使用解釋器模式。而當(dāng)存在以下情況時該模式效果最好:
該文法簡單對于復(fù)雜的文法, 文法的類層次變得龐大而無法管理。此時語法分析程序生成器這樣的工具是更好的選擇。它們無需構(gòu)建抽象語法樹即可解釋表達(dá)式, 這樣可以節(jié)省空間而且還可能節(jié)省時間。
效率不是一個關(guān)鍵問題最高效的解釋器通常不是通過直接解釋語法分析樹實現(xiàn)的, 而是首先將它們轉(zhuǎn)換成另一種形式。例如,正則表達(dá)式通常被轉(zhuǎn)換成狀態(tài)機。但即使在這種情況下, 轉(zhuǎn)換器仍可用解釋器模式實現(xiàn), 該模式仍是有用的。

Interpreter模式描述了一個語言解釋器是如何構(gòu)成的,在實際應(yīng)用中可能很少去構(gòu)造一個語言的文法。這學(xué)期剛上過編譯原理,講了些這方面的內(nèi)容,不過都是些表面的知識,這里就不舉例子了.
適用性:
結(jié)構(gòu)圖:

Interpreter模式描述了一個語言解釋器是如何構(gòu)成的,在實際應(yīng)用中可能很少去構(gòu)造一個語言的文法。這學(xué)期剛上過編譯原理,講了些這方面的內(nèi)容,不過都是些表面的知識,這里就不舉例子了.
參考資料:《設(shè)計模式速查找手冊》