




已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
編譯原理習(xí)題解答參考1.計(jì)算機(jī)執(zhí)行用高級語言編寫的程序的途徑有哪些?它們之間主要區(qū)別是什么?答:計(jì)算機(jī)執(zhí)行用高級語言編寫的程序途徑有兩種:解釋方式和編譯方式。解釋方式下直接對源程序進(jìn)行解釋執(zhí)行,并得到計(jì)算結(jié)果,特點(diǎn)是計(jì)算機(jī)并不事先對高級語言進(jìn)行全盤翻譯將其全部變?yōu)闄C(jī)器代碼,而是每讀入一條語句,就用解釋器將其翻譯為機(jī)器代碼,予以執(zhí)行,然后再讀入下一條高級語句,翻譯為機(jī)器代碼,再執(zhí)行,如些反復(fù),即邊翻譯邊執(zhí)行;編譯方式下對源程序的執(zhí)行需要經(jīng)過翻譯階段和運(yùn)行階段才能得到計(jì)算結(jié)果,其特點(diǎn)是計(jì)算機(jī)事先對高級語言進(jìn)行全盤翻譯將其全部變?yōu)闄C(jī)器代碼,再統(tǒng)一執(zhí)行,即先翻譯后執(zhí)行。簡單來說解釋方式不生成目標(biāo)代碼,編譯方式生成目標(biāo)代碼。2.名字與標(biāo)識符的區(qū)別是什么?答:在程序設(shè)計(jì)語言中,凡是以字母開頭的有限個(gè)字母數(shù)字的序列都是標(biāo)識符。當(dāng)給予一個(gè)標(biāo)識符確切的含義后,該標(biāo)識符就叫做一個(gè)名字。標(biāo)識符是一個(gè)沒有意義的字符序列,而名字有確切的含義,一個(gè)名字代表一個(gè)存儲(chǔ)單元,該單存放該名字的值。此外,名字還有屬性(如類型和作用域等)。如objectint, 作為標(biāo)識符,它沒有任何含義,但作為名字,它可能表示變量名、函數(shù)名等。3.許多編譯程序在真正編譯之前都要進(jìn)行預(yù)處理操作,請問預(yù)處理的目的是什么?預(yù)處理主要做哪些工作?答:在源程序中有時(shí)存在多個(gè)連續(xù)的空格、回車、換行及注釋等編輯性字符,它們不是程序的必要組成部分,它們的意義只是改善程序的易讀性和易理解性。為了降低編譯程序的處理負(fù)擔(dān),許多編譯程序在編譯之前通過預(yù)處理工作將這些部分刪除。 預(yù)處理的主要工作是對源程序進(jìn)行格式方面的規(guī)范化處理,如去掉注釋、將回車換行變成空格、將多個(gè)空格替換為一個(gè)空格等。P35 4,6,7,8,9,11(1,2)4答:256,86(1)答:所產(chǎn)生的語言是:所有正整數(shù)集,且可以以0打頭;0127,34,568的推導(dǎo)略。7答:SABD|AD|D A2|4|6|8|D B0|A|B0|BA D1|3|5|7|98答:略。9答:文法對于句子iiieii存在兩棵不同的語法樹,所以該文法是二義性文法。11(1)答:SAB|A SAB AaAb|ab AaAb|ab BBc|c BBc|c| (2)答:SAB|B AaA|a BbBc|bc1.化簡文法GS: SBe B Ce|Af A Ae|e C Cf D f答:SBeBAfAAe|e2.給出描述語言L(G)=a2nbn|n1的2型文法。答:語言中語句的特點(diǎn)是a的個(gè)數(shù)是b的個(gè)數(shù)的2倍,且a全部在句子的前部分,b全部在句子的后部分,2型文法為:Saab|aaSb3.構(gòu)造一個(gè)文法,使其描述的語言是不能被5整除的偶整數(shù)集合。S(+|-)AB|BA0|1|2|3|4|5|6|7|8|9|AAB2|4|6|8 如果不以0打頭,則文法描述如下:S(+|-)(AD|D)AAB|CB0|C|BBC1|2|3|4|5|6|7|8|9D2|4|6|8P64 7(1),8(123)127答:1|(0|1)*1011)NFA如下:XY53241Y1111002)確定化:II1I00 X1,3,21 1,3,23,2,43,22 3,2,43,2,43,2,53 3,23,2,43,24 3,2,53,2,4,Y3,25 3,2,4,Y3,2,43,2,53)DFA自己畫8(1)(0|1)*01 (2)(0|1| |9)*(0|5) (3)(00|11)*(10|01)12答:a圖:首先用子集法確定化:IIaIbA 00,11B 0,10,11C 10用ABC表示三個(gè)狀態(tài),則確定化后的自動(dòng)機(jī)如下所示:ACBBaaab下面用分割法將其最小化:首先得到兩個(gè)子集:非終態(tài)K1=A,C和終態(tài)K2=B,由于狀態(tài)A和狀態(tài)C輸入a后分別到達(dá)狀態(tài)B和A,故狀態(tài)A和狀態(tài)C不等價(jià),K1不能再分割,所以該DFA已經(jīng)是最小化的DFA了。(b)答:觀察原圖已經(jīng)是DFA了,最小化如下:首先得到兩個(gè)子集:非終態(tài)和終態(tài):2,3,4,5和0,10,1a=10,10,1b=2,42,3,4,5所以0,1是不可分割的因?yàn)?,3,4,5a=1,3,0,5又因?yàn)?,4a=0,10,13,5a=3,5所以該狀態(tài)集劃分為兩個(gè)狀態(tài)集2,4和3,52,4b=3,53,53,5b=2,42,4所以狀態(tài)2,4和3,5不可分割,最終狀態(tài)集劃分三個(gè)狀態(tài)集:0,1 2,4 3,5,得到最小化的DFA如下:A320aabbbaP81 23、文法GA如下: 4、已知文法GS如下:ABaC|CbB S aABbcd|B Ac|c A ASd| C Bb|b B SAh|eC| 消除其左遞歸 C Sf|Cg| D aBD| 求每一非終結(jié)符的FIRST 合和FOLLOW集合, 該文法是LL(1)文法嗎?為什么?2 解答:1) FIRST(E)=(,a,b, FIRST(E)=+, FIRST(T)= (,a,b, FIRST(T)= (,a,b, FIRST(F)= (,a,b, FIRST(F)= *, FIRST(P) (,a,b, FOLLOW(E)=),# FOLLOW(E)= ),# FOLLOW(T)= ),+,# FOLLOW(T)= ),+,# FOLLOW(F)= ),+,#, (,a,b, FOLLOW(F)= ),+,#, (,a,b, FOLLOW(P)= ),+,#, (,a,b, 2) 由上知,文法的所有首符集兩兩不相交。 FIRST(E)與FOLLOW(E)= FIRST(T)與FOLLOW(T)= FIRST(F)與FOLLOW(F)= 所以,該文法是LL(1)文法。 3)分析表和遞歸下降分析程序自己完成。3解答:利用消除左遞歸的算法,將非終結(jié)符排序?yàn)椋篣1=A,U2=B,U3=C,執(zhí)行算法得: U1代入U(xiǎn)2得:BBaCc|CbBc|c,消除B的左遞歸,BC bBcB|c BBaCc B| U2代入U(xiǎn)3得:CCbBcBb|cB|bCc BbC|b CCbBc Bb C|所以,方法消除左遞歸后的結(jié)果為:ABaC|CbBBC bBcB|c BBaCc B|Cc BbC|b CCbBc Bb C|4解答:首先將文法化簡得到如下文法: S aABbcd| A ASd| B SAh|eC| C Sf|Cg| 非終結(jié)符的FIRST集合如下:FIRST(S)=a, FIRST(A)=a,d, FIRST(B)=a,d,e,h, FIRST(C)=a,f,g, 非終結(jié)符的FOLLOW集合如下:FOLLOW(S)=#,a,d,h,fFOLLOW(A)=b,a,d,h,eFOLLOW(B)=bFOLLOW(C)=b,g該文法不是LL(1)文法,因?yàn)镕IRST(C Sf)FIRST(C Cg)FIRST(A) FOLLOW(A) 作業(yè):P133 1,3,51解答:E=E+T=E+T*F短語:T*F,E+T*F直接短語:T*F句柄 :T*F3解答: FIRSTVT(S)=a (FIRSTVT(T)=, a (LASTVT(S)=, a (LASTVT(T)=, a (1)=S(T)有(=)2) T, 則有LASTVT(T) , T), 則有LASTVT(T) )3) (T,則有 (FIRSTVT(T) , S, 則有 ,(=,)后面的答案略。5解答:4、文法GS如下,是LR(1)文法但不是LALR(1)文法,對嗎?為什么?(武大) S aAa|aBb|bAb|bBa A c B c解答:識別擴(kuò)展后文法活前綴的DFA如圖所示:I0:S.S,#S.aAa,#S.aBb,#S.bAb,#S.bBa,#I1:SS,.#I2:Sa.Aa,#Sa.Bb,#A.c,aB.c,bI3:Sb.Ab,#Sb.Ba,#A.c,bB.c,aI4:SaA.a,#I5:SaB.b,#I6:Ac.,aAc.,bI7:SbA.b,#I8:SbB.a,#I9:Ac.,bAc.,aI10:SaAa.,#I11:SaBb.,#I12:SbAb.,#I13SbBa.,#cABAbSaBcaabb 由于不存在移進(jìn)-歸約沖突和歸約-歸約沖突,所以文法是LALR(1)文法。若將同心集I6和I9合并,則會(huì)出現(xiàn)歸約歸約沖突,所以文法不是LALR(1)文法。原題說法不正確。5、已知文法GS如下,請構(gòu)造該文法的算符優(yōu)先關(guān)系矩陣,并判斷是否為算符優(yōu)先文法?(清華) S iBtS|iBtAeS|a A iBtAeS|a B b解答:求該非終結(jié)符的FIRSTVT集合和LASTVT集合 FIRSTVT(S)=i,a FIRSTVT(A)= i,a FIRSTVT(B)=b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食用菌提取物對gutmicrobiota的影響研究-洞察闡釋
- 超微粉碎在乳制品加工中的應(yīng)用研究-洞察闡釋
- 極地極地通信天線技術(shù)在極端環(huán)境中的應(yīng)用-洞察闡釋
- 量子網(wǎng)絡(luò)的量子鍵構(gòu)建與安全性研究-洞察闡釋
- 高溫超導(dǎo)界面相位相干調(diào)控機(jī)制-洞察闡釋
- 媽媽包市場細(xì)分策略-洞察及研究
- 非invasive顱內(nèi)壓實(shí)時(shí)監(jiān)測技術(shù)研究-洞察闡釋
- 智能家居系統(tǒng)優(yōu)化-洞察闡釋
- 含瓦斯水合物煤體力學(xué)特性的非均勻性研究:試驗(yàn)與模擬分析
- 教育學(xué)核心知識點(diǎn)體系構(gòu)建與教學(xué)應(yīng)用研究
- 碼頭承包經(jīng)營合同
- DB37T2367-2022《回彈法檢測砌筑砂漿抗壓強(qiáng)度技術(shù)規(guī)程》
- 對生活飲用水的衛(wèi)生監(jiān)督
- 2022江蘇省中央財(cái)政補(bǔ)貼型奶牛養(yǎng)殖保險(xiǎn)條款
- 樂山市口腔醫(yī)院門診牙科診所醫(yī)療機(jī)構(gòu)企業(yè)地址名單目錄
- WTO世界貿(mào)易組織概論期末復(fù)習(xí)題
- 外貿(mào)業(yè)務(wù)員KPI考核量表
- 智慧物業(yè)管理系統(tǒng)解決方案
- 幼兒園教育活動(dòng)設(shè)計(jì)與指導(dǎo)幼兒園教育活動(dòng)設(shè)計(jì)的基本模式
- 數(shù)字聲音廣播7-drm技術(shù)系統(tǒng)與二
- 嵌頓疝病人應(yīng)急預(yù)案
評論
0/150
提交評論