1. 程式人生 > >設計模式--直譯器模式

設計模式--直譯器模式

定義:定義個文法,並且定義一個直譯器, 使用直譯器來表示這個文法。文法就是一箇中規律規則。 使用場景:①將某個簡單的語言需要解釋執行並將語言中語句表示為一個抽象的語法樹。②在某個特定的領域出現不斷重複的問題的時候,可以將該領域的問題轉化為一個文法,然後進行解釋。 好處:當我們要進行文法的延伸的時候,只需要增加響應的非終結符直譯器,並且在構建抽象語法樹的時候進行具體的解釋即可。 壞處:會導致類的數量增加。 使用:需要終結符直譯器(類似9 + 8 中的+號),和非終結符直譯器(類似9 + 8 中的9或者8)。在android開發中使用的時候比較少。

抽象的表示式 這裡寫圖片描述 數字表達式 這裡寫圖片描述 運算子表示式 這裡寫圖片描述

這裡寫圖片描述 進行計算 這裡寫圖片描述 這裡寫圖片描述