直譯器模式

2021-09-26 03:45:03 字數 965 閱讀 6575

給定乙個語言(如由abcdef六個字元組成的字串集合),定義它的文法的一種表示(s::=aba*ef,a::=cd)並定義乙個直譯器,直譯器使用該表示來解釋語言中的句子。其中的直譯器類似乙個翻譯機。

為了解釋一種語言,而為語言建立的直譯器。

字面上看,應該不難理解,就是解釋語句的,比如對字串 "1 + 2" 進行翻譯為數學上的1+2,但是在實現上,會比較複雜。 

行為型某個特定型別問題發生頻率足夠高(比如對不同格式的日誌要素的分析)。

語法由很多類表示,容易改變及擴充套件此"語言"。

算式表示式的直譯器

直譯器模式

include include include include include using namespace std 直譯器模式 給定一種語言,定義它的文法的一種表示,並定義乙個直譯器 該直譯器使用該表示來解釋語言中的句子 類似於程式語言或者指令碼 假設情景是乙個指令碼控制系統 wasd上下左右方...

直譯器模式

1 模式定義 直譯器模式 interpreter pattern 定義語言的文法,並且建立乙個直譯器來解釋該語言中的句子,這裡的 語言 意思是使用規定格式和語法的 它是一種類行為型模式。2 模式結構 直譯器模式包含如下角色 abstractexpression 抽象表示式 terminalexpre...

直譯器模式

給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子。要解決的問題 如果一種特定型別的問題發生的頻率足夠高,那麼可能就值得將該問題的各個例項表述為乙個簡單語言中的句子。這樣就可以構造乙個直譯器,該直譯器通過解釋這些句子來解決該問題。的好處 當有乙個語言需要解...