




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
編譯原理考試陳火旺(含答案)編譯原理考試陳火旺(含答案)編譯原理考試陳火旺(含答案)資料僅供參考文件編號:2022年4月編譯原理考試陳火旺(含答案)版本號:A修改號:1頁次:1.0審核:批準:發(fā)布日期:編譯原理試題A(2003.12.4)回答下列問題:(30分)(6分)對于下面程序段programtest(input,output) vari,j:integer; procedureCAL(x,y:integer); begin y:=y*y;x:=x-y;y:=y-x end; begin i:=2;j:=3;CAL(i,j) writeln(j) end.若參數(shù)傳遞的方法分別為(1)傳值、(2)傳地址,(3)傳名,請寫出程序執(zhí)行的輸出結(jié)果。(6分)計算文法G(M)的每個非終結(jié)符的FIRST和FOLLOW集合,并判斷該文法是否是LL(1)的,請說明理由。G(M):M→TBT→Ba|B→Db|eT|D→d|(4分)考慮下面的屬性文法產(chǎn)生式語義規(guī)則S→ABCA→aB→bC→cB.u:=S.uA.u:=B.v+C.vS.v:=A.vA.v:=3*A.uB.v:=B.uC.v:=1畫出字符串a(chǎn)bc的語法樹;對于該語法樹,假設(shè)S.u的初始值為5,屬性計算完成后,S.v的值為多少
(4分)運行時的DISPLAY表的內(nèi)容是什么它的作用是什么
(5分)對下列四元式序列生成目標代碼:A:=B*CD:=E+AG:=B+CH:=G*D其中,H在基本塊出口之后是活躍變量,R0和R1是可用寄存器。(5分)寫出表達式a+b*(c-d)對應(yīng)的逆波蘭式、三元式序列和抽象語法樹。(8分)構(gòu)造一個DFA,它接受={a,b}上所有包含ab的字符串。(6分)寫一個文法使其語言為L(G)={anbncm|m,n≥1,n為奇數(shù),m為偶數(shù)}。(8分)對于文法G(S):1.寫出句型b(Ma)b的最右推導并畫出語法樹。2.寫出上述句型的短語,直接短語和句柄。(12分)對文法G(S):S→a|^|(T)T→T,S|S(1)構(gòu)造各非終結(jié)符的FIRSTVT和LASTVT集合;(2)構(gòu)造算符優(yōu)先表;(3)是算符優(yōu)先文法嗎?(4)構(gòu)造優(yōu)先函數(shù)。(8分)設(shè)某語言的do-while語句的語法形式為SdoS(1)WhileE其語義解釋為:真真假S(1)的代碼E的代碼針對自下而上的語法分析器,按如下要求構(gòu)造該語句的翻譯模式,將該語句翻譯成四元式:(1)寫出適合語法制導翻譯的產(chǎn)生式;(2)寫出每個產(chǎn)生式對應(yīng)的語義動作。(10分)將語句whileC>0doifAB=0thenC:=C+DelseC:=C*D翻譯成四元式。(10分)設(shè)有基本塊如下:T1:=3T2:=A*BT3:=9+T1M:=A*BT4:=C-DL:=T3*T4T2:=C+DN:=T2畫出DAG圖;設(shè)L,M,N是出基本塊后的活躍變量,請給出優(yōu)化后的四元式序列。(8分)文法G(S)及其LR分析表如下,請給出串baba#的分析過程。(1)S→DbB (2)D→d (3)D→ε(4)B→a (5)B→Bba (6)B→εLR分析表ACTIONGOTObDa#SBD0r3s3121acc2s43r24r6S5r665r4r46s7r17S88r5r5(注:答案格式為步驟 狀態(tài) 符號 輸入串)
編譯原理試題A(2003.12.4)回答下列問題:(30分)(6分)對于下面程序段programtest(input,output) vari,j:integer; procedureCAL(x,y:integer); begin y:=y*y;x:=x-y;y:=y-x end; begin i:=2;j:=3;CAL(i,j) writeln(j) end.若參數(shù)傳遞的方法分別為(1)傳值、(2)傳地址,(3)傳名,請寫出程序執(zhí)行的輸出結(jié)果。答:(1)3(2)16 (3)16 (每個值2分)(6分)計算文法G(M)的每個非終結(jié)符的FIRST和FOLLOW集合,并判斷該文法是否是LL(1)的,請說明理由。G(M):M→TBT→Ba|B→Db|eT|D→d|解答:計算文法的FIRST和FOLLOW集合:(4分)FIRST(M)={a,b,e,d,} FIRST(T)={a,b,e,d,}FIRST(B)={b,e,d,} FIRST(D)={d,}FOLLOW(M)={#} FOLLOW(T)={a,b,e,d,#}FOLLOW(B)={a,#} FOLLOW(D)=檢查文法的所有產(chǎn)生式,我們可以得到:1.該文法不含左遞歸,2.該文法中每一個非終結(jié)符M,T,B,D的各個產(chǎn)生式的候選首符集兩兩不相交。3.該文法的非終結(jié)符T、B和D,它們都有候選式,而且FIRST(T)∩FOLLOW(T)={a,b,e,d}≠ 所以該文法不是LL(1)文法。(2分)(4分)考慮下面的屬性文法產(chǎn)生式語義規(guī)則S→ABCA→aB→bC→cB.u:=S.uA.u:=B.v+C.vS.v:=A.vA.v:=3*A.uB.v:=B.uC.v:=1畫出字符串a(chǎn)bc的語法樹;對于該語法樹,假設(shè)S.u的初始值為5,屬性計算完成后,S.v的值為多少。SABSABCabc (2)S.v的值為18(2分)(4分)運行時的DISPLAY表的內(nèi)容是什么它的作用是什么
答:DISPLAY表是嵌套層次顯示表。每當進入一個過程后,在建立它的活動記錄區(qū)的同時建立一張嵌套層次顯示表diaplay.假定現(xiàn)在進入的過程層次為i,則它的diaplay表含有i+1個單元,自頂向下每個單元依次存放著現(xiàn)行層、直接外層、…、直至最外層(主程序,0層)等每層過程的最新活動記錄的起始地址。通過DISPLAY表可以訪問其外層過程的變量。(5分)對下列四元式序列生成目標代碼:A:=B*CD:=E+AG:=B+CH:=G*D其中,H在基本塊出口之后是活躍變量,R0和R1是可用寄存器。答:目標代碼序列LD R0 BMUL R0 CLD R1 EADD R1 R0LD R0 BADD R0 CMUL R0 R1ST R0 H(5分)寫出表達式a+b*(c-d)對應(yīng)的逆波蘭式、三元式序列和抽象語法樹。答:逆波蘭式:(abcd-*+)(1分)三元式序列:(2分)OPARG1ARG2(1)-cd(2)*b(1)(3)+a(2)adadc-b*+(8分)構(gòu)造一個DFA,它接受={a,b}上所有包含ab的字符串。答:(2分)構(gòu)造相應(yīng)的正規(guī)式:(a|b)*ab(a|b)*(3分)0120123645abbb(3分)確定化:I{0,1,2}{1,2,3}{1,2}{1,2,3}{1,2,3}{1,2,4,5,6}{1,2}{1,2,3}{1,2}{1,2,4,5,6}{1,2,3,5,6}{1,2,5,6}{1,2,3,5,6}{1,2,3,5,6}{1,2,4,5,6}{1,2,5,6}{1,2,3,5,6}{1,2,5,6}bbba543210aaaa543210abbb最小化:{0,1,2}{3,4,5}{0,2},1,{3,4,5}bbaa01b3ba(6分)寫一個文法使其語言為L(G)={anbncm|m,n≥1,n為奇數(shù),m為偶數(shù)}。答:文法G(S):(8分)對于文法G(S):1.寫出句型b(Ma)b的最右推導并畫出語法樹。2.寫出上述句型的短語,直接短語和句柄。SbSbM(TMabL)1.(4分)2.(4分)短語:Ma),(Ma),b(Ma)b直接短語:Ma)句柄:Ma)(12分)對文法G(S):S→a|^|(T)T→T,S|S(1)構(gòu)造各非終結(jié)符的FIRSTVT和LASTVT集合;(2)構(gòu)造算符優(yōu)先表;(3)是算符優(yōu)先文法嗎?(4)構(gòu)造優(yōu)先函數(shù)。答:(1)(4分)(2)(4分)a^(),a>>^>>(<<<=<)>>,<<<>>(3)是算符優(yōu)先文法,因為任何兩個終結(jié)符之間至多只有一種優(yōu)先關(guān)系。(1分)(4)優(yōu)先函數(shù)(3分)a^(),F44244G55523(8分)設(shè)某語言的do-while語句的語法形式為SdoS(1)WhileE其語義解釋為:真真假S(1)的代碼E的代碼針對自下而上的語法分析器,按如下要求構(gòu)造該語句的翻譯模式,將該語句翻譯成四元式:(1)寫出適合語法制導翻譯的產(chǎn)生式;(2)寫出每個產(chǎn)生式對應(yīng)的語義動作。答:(1).適合語法制導翻譯的文法(4分)G(S):RdoURS(1)WhileSUE(2).(4分)Rdo{R.QUAD:=NXQ}URS(1)While{U.QUAD:=R.QUAD;BACKPATCH(S.CHAIN,NXQ)}SUE{BACKPATCH(E.TC,U.QUAD);S.CHAIN:=E.FC}答案二:(1)SdoM1S(1)WhileM2EMε(4分)(2) Mε{M.QUAD:=NXQ}(4分) SdoM1S(1)WhileM2E {BACKPATCH(S(1).CHAIN,M2.QUAD);BACKPATCH(E.TC,M1.QUAD);S.CHAIN:=E.FC }(10分)將語句whileC>0doifAB=0thenC:=C+DelseC:=C*D翻譯成四元式。答:100(j>,C,0,102)101(j,-,-,112)102(jnz,A,-,106)103(j,-,-,104)104(j=,B,0,106)105(j,-,-,109)106(+,C,D,T1)107(:=,T1,-,C)108(j,-,-,100)109(*,C,D,T2)110(:=,T2,-,C)111(j,-,-,100)112(10分)設(shè)有基本塊如下:T1:=3T2:=A*BT3:=9+T1M:=A*BT4:=C-DL:=T3*T4T2:=C+DN:=T2畫出DAG圖;設(shè)L,M,N是出基本塊后的活躍變量,請給出優(yōu)化后的四元式序列。答:n91.(6分)n9Ln8n4n10*n8n4n10
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三農(nóng)村能源利用與可持續(xù)發(fā)展方案
- 建筑工程中介服務(wù)合同
- 環(huán)保技術(shù)研發(fā)投入趨勢表
- 上季度收入與支出統(tǒng)計表
- 天水藝術(shù)景觀施工方案
- 道路欄桿施工方案
- 現(xiàn)澆混凝土屋面板施工方案
- 陽泉固定抗震支架施工方案
- 哪些工程需要施工方案
- 發(fā)電洞二次襯砌施工方案
- 房屋修繕工程技術(shù)規(guī)程 DG-TJ08-207-2008
- 家庭教育的發(fā)展與變革
- 霹靂布袋戲簡介
- 現(xiàn)代企業(yè)車間管理全套教學課件
- 焊接基礎(chǔ)知識:焊接的缺陷及檢驗方法
- 加油站節(jié)前安全教育培訓
- 信訪調(diào)解協(xié)議書模板
- 生產(chǎn)工藝的標準化流程與規(guī)范化管理
- 干部履歷表(中共中央組織部2015年制)
- 鐵路轉(zhuǎn)轍機 ZDJ9型電動轉(zhuǎn)轍機認知
- 【我國新能源汽車產(chǎn)業(yè)發(fā)展分析文獻綜述5800字】
評論
0/150
提交評論