解釋器模式:
給定一個語言,定義了它的文法的一種表示,并定義了一個解釋器,這個解釋器使用該表示來解釋語言中的句子。
Given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language.
UML圖:

主要包括:
AbstractExpression:聲明了一個運作操作的接口。
TerminalExpression:終結符表達式。實作與文法中終結符相關聯的操作。
NonterminalExpression:非終結符表達式,為文法中非終結符實作解釋操作。
對文法中的每一條規則R1,R2,R3…..都須要一個詳細的非終結符表達式類。
Context:包括解釋器外的一些全局資訊。
Client:定義了一個抽象的文法樹,這棵文法樹用來表示語言中特定的句子。文法樹由NonterminalExpression和TerminalExpression構成。
C++實作:
運作輸出:
本文轉自mfrbuaa部落格園部落格,原文連結:http://www.cnblogs.com/mfrbuaa/p/5093575.html,如需轉載請自行聯系原作者