




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第16章創(chuàng)建您自己的語言:解釋器模式,16.1創(chuàng)建您自己的語言解釋器,16.2模式定義,16.3模式分析,16.4模式實(shí)現(xiàn),16.5設(shè)計(jì)原則,16.6使用環(huán)境,16.7本章的要點(diǎn),16.1創(chuàng)建您自己的語言解釋器,首先,簡單地定義“myida”語言的語法規(guī)則:(1)“MyIDA”(2)“MyIDA”以PROGRAM開始,以END結(jié)束;(3)PRINTLN指打印一行并將其包裝;(4)使用FORFROMTOEND來表示循環(huán)。示例語言內(nèi)容如下:程序打印開始.對于90到100次打印,我一次打印一次.這句話的意思是:首先打印“開始”,然后打印“90”、“91”、“100”,最后打印“結(jié)束”。16.2模式定
2、義,解釋器模式,是給出一種語言的語法表示,并定義一個解釋器來解釋該語言中的句子。解釋器模式描述了在擁有簡單的語法后,如何使用模式設(shè)計(jì)來解釋這些語句。16.3模式分析,16 . 3 . 1“myida”語言分析(1)從程序開始。(2)語句有兩種:基本語句和復(fù)雜語句。(3)語言的主要部分應(yīng)該是一組要執(zhí)行的列表語句。(4)復(fù)雜語句包含一個列表語句集,例如,示例中的FOR語句包含PRINTLN語句。(5)語言的解釋和執(zhí)行是一個遞歸調(diào)用過程,在這個過程中,每個語句都將被遞歸地解釋和執(zhí)行,直到一個基本語句被執(zhí)行,然后返回。(6)端對端。16 . 3 . 1“myida”語言分析,我們可以得到“myida”
3、語言的解釋樹結(jié)構(gòu)圖,如圖16-1所示。16.3.2“邁達(dá)”語言解釋器原則。根據(jù)“myida”語言的解釋結(jié)構(gòu)圖和語法規(guī)則描述的內(nèi)容,我們可以很容易地得到“MyIDA”語言解釋器的活動圖,如圖16-2所示。16.4模式實(shí)現(xiàn),16.4.1創(chuàng)建上下文環(huán)境16.4.2創(chuàng)建解析表達(dá)式1表達(dá)式接口IExpressions 2主表達(dá)式程序表達(dá)式3列表表達(dá)式列表表達(dá)式4命令表達(dá)式命令表達(dá)式5循環(huán)表達(dá)式for表達(dá)式6基本表達(dá)式Primitiv EExpression 16.4.3使“myida”語言解釋器工作,16.5設(shè)計(jì)原則,1“打開-關(guān)閉”原則,2包裝更改的部分,16.6使用場合,(1)特定類型問題的頻率足夠高,并且業(yè)務(wù)規(guī)則經(jīng)常更改(2)業(yè)務(wù)規(guī)則不太復(fù)雜和繁瑣,所以抽象語法規(guī)則比較容易。(3)效率不是軟件系統(tǒng)的主要考慮因素。16.6使用時(shí),查看解釋器模式的靜態(tài)類圖,加深對解釋器模式的理解,如圖16-5所示。16.6使用場合,1解釋器模式中的角色2擴(kuò)展1:解釋器模式1:Java SD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 豬肉店策劃活動方案
- 班級配音活動方案
- 燒肉店充值活動方案
- 瑞麗紋身店活動方案
- 現(xiàn)場打假活動方案
- 焙烤食品比賽活動方案
- 生命美學(xué)探索活動方案
- 玩具安全活動方案
- 班級團(tuán)隊(duì)亮相活動方案
- 《運(yùn)動生理學(xué)》期末考試復(fù)習(xí)題庫(含答案)
- 學(xué)生人力資源(董克用)復(fù)習(xí)題匯總
- 《小學(xué)語文閱讀有效教學(xué)策略研究》開題報(bào)告
- 云南省昆明市西山區(qū)2022-2023學(xué)年五年級下學(xué)期期末科學(xué)試卷
- 兒科質(zhì)控中心建設(shè)方案
- 2013免疫吸附治療知情同意書
- 鍍鋅鋼管壁厚及重量
- 區(qū)塊鏈金融學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫2023年
- 2023年司法鑒定程序通則
- 2023年宜賓市敘州區(qū)區(qū)內(nèi)外考試選調(diào)在編在職教師考試題庫
- 2023屆大連市瓦房店市數(shù)學(xué)四下期末質(zhì)量檢測試題含解析
評論
0/150
提交評論