定義乙個語言的文法,並且建立乙個直譯器來解釋該語言中的句子,這裡的「語言」是指使用規定格式和語法的**。直譯器模式是一種類行為型模式。
abstract class abstractexpression
class terminalexpression extends abstractexpression
} class nonterminalexpression extends abstractexpression
public void interpret(context ctx)
}class context
public string lookup(string key)
}
行為型模式 直譯器
給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子。直譯器模式 interpreter 是一種針對特定問題設計的一種解決方案。例如,匹配字串的時候,由於匹配條件非常靈活,使得通過 來實現非常不靈活。舉個例子,針對以下的匹配條件 因此,需要一種通用的表示方法...
行為型模式 直譯器
直譯器模式 interpreter 是一種針對特定問題設計的一種解決方案。例如,匹配字串的時候,由於匹配條件非常靈活,使得通過 來實現非常不靈活。舉個例子,針對以下的匹配條件 因此,需要一種通用的表示方法 正規表示式來進行匹配。正規表示式就是乙個字串,但要把正規表示式解析為語法樹,然後再匹配指定的字...
直譯器模式 類行為型模式
一 意圖 給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子。二 適用性 當有乙個語言需要解釋執行,並且你可將語言中的句子表示為乙個抽象的語法樹時,可使用直譯器模式。而當存在以下情況時該模式效果最好 三 結構 四 public abstract class...