版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
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)建您自己的語言解釋器,首先,簡(jiǎn)單地定義“myida”語言的語法規(guī)則:(1)“MyIDA”(2)“MyIDA”以PROGRAM開始,以END結(jié)束;(3)PRINTLN指打印一行并將其包裝;(4)使用FORFROMTOEND來表示循環(huán)。示例語言內(nèi)容如下:程序打印開始.對(duì)于90到100次打印,我一次打印一次.這句話的意思是:首先打印“開始”,然后打印“90”、“91”、“100”,最后打印“結(jié)束”。16.2模式定
2、義,解釋器模式,是給出一種語言的語法表示,并定義一個(gè)解釋器來解釋該語言中的句子。解釋器模式描述了在擁有簡(jiǎn)單的語法后,如何使用模式設(shè)計(jì)來解釋這些語句。16.3模式分析,16 . 3 . 1“myida”語言分析(1)從程序開始。(2)語句有兩種:基本語句和復(fù)雜語句。(3)語言的主要部分應(yīng)該是一組要執(zhí)行的列表語句。(4)復(fù)雜語句包含一個(gè)列表語句集,例如,示例中的FOR語句包含PRINTLN語句。(5)語言的解釋和執(zhí)行是一個(gè)遞歸調(diào)用過程,在這個(gè)過程中,每個(gè)語句都將被遞歸地解釋和執(zhí)行,直到一個(gè)基本語句被執(zhí)行,然后返回。(6)端對(duì)端。16 . 3 . 1“myida”語言分析,我們可以得到“myida”
3、語言的解釋樹結(jié)構(gòu)圖,如圖16-1所示。16.3.2“邁達(dá)”語言解釋器原則。根據(jù)“myida”語言的解釋結(jié)構(gòu)圖和語法規(guī)則描述的內(nèi)容,我們可以很容易地得到“MyIDA”語言解釋器的活動(dòng)圖,如圖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使用場(chǎng)合,(1)特定類型問題的頻率足夠高,并且業(yè)務(wù)規(guī)則經(jīng)常更改(2)業(yè)務(wù)規(guī)則不太復(fù)雜和繁瑣,所以抽象語法規(guī)則比較容易。(3)效率不是軟件系統(tǒng)的主要考慮因素。16.6使用時(shí),查看解釋器模式的靜態(tài)類圖,加深對(duì)解釋器模式的理解,如圖16-5所示。16.6使用場(chǎng)合,1解釋器模式中的角色2擴(kuò)展1:解釋器模式1:Java SD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度美團(tuán)外賣店鋪服務(wù)標(biāo)準(zhǔn)合同范本4篇
- 二零二五年度標(biāo)準(zhǔn)裝載機(jī)租賃合同附帶租賃設(shè)備更換服務(wù)3篇
- 2025年度美團(tuán)外賣平臺(tái)食品安全責(zé)任承諾合同2篇
- 2025年度房地產(chǎn)開發(fā)項(xiàng)目融資合同范本7篇
- 二零二五年度船舶貨物保險(xiǎn)合同示范文本2篇
- 二零二五年度新能源產(chǎn)業(yè)融資合同3篇
- 二零二五年度全新廣東房屋租賃合同規(guī)范租賃市場(chǎng)秩序2篇
- 2025年度科技創(chuàng)新區(qū)土地使用權(quán)轉(zhuǎn)讓居間合同范本
- 2025年度農(nóng)藥產(chǎn)品代理銷售數(shù)據(jù)統(tǒng)計(jì)分析合同
- 2025年度南京汽車租賃押金管理合同范本4篇
- 醫(yī)院運(yùn)送工作介紹
- 小學(xué)四年級(jí)上冊(cè)遞等式計(jì)算100題及答案
- 設(shè)計(jì)師績(jī)效考核
- 高考日語基礎(chǔ)歸納總結(jié)與練習(xí)(一輪復(fù)習(xí))
- 《預(yù)防犯罪》課件
- 【企業(yè)作業(yè)成本在上海汽車集團(tuán)中的應(yīng)用研究案例7300字(論文)】
- 高中物理答題卡模板
- 化學(xué)用語專項(xiàng)訓(xùn)練
- 芳香植物與芳香療法講解課件
- 不孕癥診斷、治療新進(jìn)展課件
- 學(xué)校食堂食品質(zhì)量控制方案
評(píng)論
0/150
提交評(píng)論