設計模式之解析器

2021-07-02 01:23:54 字數 425 閱讀 6970

一、作用

定義乙個語言的文法,並且建立乙個直譯器來解釋該語言中的句子,這裡的「語言」是指使用規定格式和語法的**。直譯器模式是一種類行為型模式。

二、特點

它將文法分為終結者和非終結者,挺簡單的。

三、例子

//抽象表示式

abstract class node

//非終結符表示式

class addnode extends node

public numbernode execute()

}//終結符表示式

class numbernode extends node

public double getvalue()

public numbernode execute()

}

設計模式 解析器(parser)

特定領域,某些變化雖然頻繁,但是可以抽象為某種規則 結合特定領域,將問題抽象為語法規則,從而給出該領域的一般性解決方案。interpreter屬於 領域規則 模式。motivation 軟體構件過程中,對於某一特定領域的問題比較複雜,類似結構重複出現 可以將特定領域的問題表達為語法規則下的句子,然後...

設計模式 解析器模式 Interpreter

意圖 給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子 適用性 1 當有乙個語言需要解釋執行,並且你可以把該語言中的句子表示為乙個抽象的語法樹時,可使用直譯器模式 而當存在以下情況時,該模式的效果最好 2 該文法簡單,對於複雜的文法,文法的類層次變得龐大...

Interpreter解析器模式

在特定領域中,某些變化雖然頻繁,但可以抽象為某種規則。這時候,結合特定領域,將問題抽象為語法規則,從而給出在該領域下的一般性解決方案。在軟體構建中,如果某一特定領域的問題比較複雜,類似的結構不斷重複出現,如果使用普通的程式設計方式來實現將面臨非常頻繁的變化。這種情況下,將特定領域的問題表達為某種語法...