版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、得分河南科技大學(xué)電信科卷A一 填空題(每空2分,共20分)1. 不同的編譯程序關(guān)于數(shù)據(jù)空間的存儲分配策略可能不同,但大部分編譯中采用的方案有兩種:靜態(tài)存儲分配方案和動態(tài)存儲分配方案,而后者又分為(1) 和 (2) 。2. 規(guī)范規(guī)約是最(3)規(guī)約。3. 編譯程序的工作過程一般劃分為5個階段:詞法分析、(4) 、語義分析與中間代碼生成,代碼優(yōu)化及(5) 。另外還有(6)和出錯處理。4表達式x+y*z/(a+b)的后綴式為 (7) 。5文法符號的屬性有綜合屬性和 (8)。6假設(shè)二位數(shù)組按行存放,而且每個元素占用一個存儲單元,則數(shù)組a1.15,1.20某個元素ai,j的地址計算公式為(9)。7局部優(yōu)化
2、是局限于一個(10)范圍內(nèi)的一種優(yōu)化。得分二 選擇題(1-6為單選題,7-8為多選題,每問2分,共20分)1. 一個上下文無關(guān)文法G包括四個組成部分:一組終結(jié)符,一組非終結(jié)符,一個( ),以及一組( )。A 字符串 B 產(chǎn)生式 C 開始符號 D 文法2.程序的基本塊是指( )。A 一個子程序 B 一個僅有一個入口和一個出口的語句C 一個沒有嵌套的程序段 D 一組順序執(zhí)行的程序段,僅有一個入口和一個出口3. 高級語言編譯程序常用的語法分析方法中,遞歸下降分析法屬于( )分析方法。A 自左向右 B 自頂向下 C 自底向上 D 自右向左4在通常的語法分析方法中,( )特別適用于表達式的分析。A 算符
3、優(yōu)先分析法 B LR分析法C 遞歸下降分析法 D LL(1)分析法5經(jīng)過編譯所得到的目標程序是( )。A 四元式序列 B 間接三元式序列C 二元式序列 D 機器語言程序或匯編語言程序6 一個文法所描述的語言是( );描述一個語言的文法是( )。A 唯一的 B 不唯一的 C 可能唯一,也可能不唯一7 如果在文法G中存在一個句子,當其滿足下列條件( )之一時,則稱該文法是二義文法。A 其最左推導(dǎo)和最右推導(dǎo)相同 B 該句子有兩個不同的最左推導(dǎo)C 該句子有兩個不同的最右推導(dǎo) D 該句子有兩棵不同的語法樹E 該句子對應(yīng)的語法樹唯一8 下面( )語法制導(dǎo)翻譯中,采用拉鏈回填技術(shù)。A. 賦值語句 B. 布爾
4、表達式的計算 C. 條件語句 D. 循環(huán)語句得分三 解答題(共60分)1 (共15分)已知文法GE: EETE|(E)|i T*|+(1) 將文法G改造成LL(1)文法;(5分)(2) 構(gòu)造文法G中每個非終結(jié)符的FIRST集合及FOLLOW集合;(5分)(3) 構(gòu)造LL(1)分析表。(5分)2 (共12分)給定文法GS:SS(S)|(1) 給出句子()()()()的規(guī)范推導(dǎo)過程;(4分)(2) 指出每步推導(dǎo)所得句型的句柄;(4分)(3) 畫出該句子的語法推導(dǎo)樹。(4分)3 (共8分)在一個移入-規(guī)約分析過程中采用以下的語法制導(dǎo)翻譯模式,在按一個產(chǎn)生式規(guī)約時,立即執(zhí)行括號中的動作。 AaB pr
5、int “0”; Ac print “1”; BAb print “2”;(1) 當分析器的輸入為aacbb時,打印的字符串是什么?(3分)(2) 寫出分析過程。(5分)4 (10分)翻譯循環(huán)語句 while (a<b) do if (c>d) then x:=y+z 。要求:給出加注釋的分析樹及四元式序列。參考以下部分翻譯模式:(1) Sif E then M S1 backpatch(E.truelist,M.quad);S.nextlist:=merge(E.falselist,S1 .nextlist)(2) Swhile M1 E do M2 S1 backpatch(S
6、1.nextlist,M1,.quad); backpatch(E.truelist,M2,.quad); S.nextlist:=E.falselist emit (j,-,-,M1 .quad)(3) SA S.nextlist:=makelist()(4) LS L.nextlist:=S.nextlist(5) M M.quad:=nextquad(6) Eid1 relop id2 E.truelist:=makelist(nextquad); e.falselist:=makelist(nextquad+1); emit(jrelop.op,id1.place ,id2.place
7、,0); emit(j,-,-,0)(7) SL:=E emit(:=,E.place,-,L.place)(8) EE1+E2 E.place:=newtemp; emit(+,E1.place,E2.place,E.place,)5 (共15分)設(shè)有表格構(gòu)造文法GS: Sa|(T) TT,S|S(1) 計算文法GS的FIRSTVT集和LASTVT集。(5分)(2) 構(gòu)造GS的優(yōu)先關(guān)系表,并判斷GS是否為算符優(yōu)先文法。(5分)(3) 計算GS的優(yōu)先函數(shù)。(5分)得分二 單項選擇題(每題2分,共10分)1. 設(shè)有文法GI: II1|I0|Ia|Ic|a|b|c下列符號串中是該文法句子的有( )
8、。 ab0 a0c01 aaa bc10可選項有:A B C D2.程序的基本塊是指( )。A 一個子程序 B 一個僅有一個入口和一個出口的語句C 一個沒有嵌套的程序段 D 一組順序執(zhí)行的程序段,僅有一個入口和一個出口3. 高級語言編譯程序常用的語法分析方法中,遞歸下降分析法屬于( )分析方法。A 自左向右 B 自頂向下 C 自底向上 D 自右向左4經(jīng)過編譯所得到的目標程序是( )。A 四元式序列 B 間接三元式序列C 二元式序列 D 機器語言程序或匯編語言程序5 運行階段的存儲組織與管理的目的是( )。 提高編譯程序的運行速度 節(jié)省編譯程序的存儲空間 提高目標程序的運行速度 為運行階段的存儲
9、分配做準備可選項有:A. B. C. D. 得分2. (10分) 已知文法GS: SaBc|bABAaAb|bBb|(4) 構(gòu)造其LL(1)分析表;(5) 判斷符號串baabbb是否為該文法的句子(寫出含有符號棧、輸入串和規(guī)則的分析過程)。3. (10分) 已知文法G為:EE+T|TTT*P|PPi(1) 構(gòu)造該文法的優(yōu)先關(guān)系表(不考慮語句括號#),并指出此文法是否為算符優(yōu)先文法。(2) 構(gòu)造文法G的優(yōu)先函數(shù)表。4 (8分)在一個移入-規(guī)約分析過程中采用以下的語法制導(dǎo)翻譯模式,在按一個產(chǎn)生式規(guī)約時,立即執(zhí)行括號中的動作。 SbAb print “1” A(B print “2” Aa prin
10、t “3”BAa) print “4”(3) 當輸入序列為b(aa)a)a)b時,打印的字符串是什么?(4) 寫出移入-規(guī)約分析過程。5 (12分)翻譯循環(huán)語句 while (x>y) do if (a=b) then x:=2*y+a 。要求:給出加注釋的分析樹、三地址碼序列及相應(yīng)的四元式序列。參考以下部分翻譯模式:(1) Sif E then M S1 backpatch(E.truelist,M.quad);S.nextlist:=merge(E.falselist,S1 .nextlist)(2) Swhile M1 E do M2 S1 backpatch(S1.nextlis
11、t,M1,.quad); backpatch(E.truelist,M2,.quad); S.nextlist:=E.falselist emit (j,-,-,M1 .quad)(3) SA S.nextlist:=makelist()(4) LS L.nextlist:=S.nextlist(5) M M.quad:=nextquad(6) Eid1 relop id2 E.truelist:=makelist(nextquad); e.falselist:=makelist(nextquad+1); emit(jrelop.op,id1.place ,id2.place,0); emit
12、(j,-,-,0)(7) SL:=E emit(:=,E.place,-,L.place)(8) EE1+E2 E.place:=newtemp; emit(+,E1.place,E2.place,E.place,)6. (8分) Generate assembly code for the following sequence assuming that x,y and z are in memory locations(noticing only two registers R1 and R2).S=0I=0 L1: if x>y goto L2 Z=s+ai I=i+1Goto L
13、1 L2:7 (6分) Give out the all basic blocks of the following program fragment and construct the relevant flow graph(DAG). read C A=0 B=1 L4: A=A+B if B>C goto L2 B=B+1 goto L4L2: write A8. (8分)Translate the assignment statement bi=b*c-b*d into (1) A syntax tree.(2) Three address instructions.答案:(1)
14、 棧式動態(tài)存儲分配(2) 堆式動態(tài)存儲分配(3) 左(4) 語法分析(5) 目標代碼生成(6) 表格管理(7) xyz*ab+/+(8) 繼承屬性(9) a+(i-1)*20+j-1(10) 基本塊一、 選擇題(每問2分,共20分)1.C B 2.D 3.B 4.A 5.D 6.A,C7.BCD,選對一個得1分且不超過滿分,選錯一個扣一分,扣完為止。8.BCD,選對一個得1分且不超過滿分,選錯一個扣一分,扣完為止。二、 解答題1(1)文法存在左遞歸,消除左遞歸后的文法為:E(E)E|i E(2分)ETEE| (2分)T*|+ (1分)(2)(5分)沒考慮#扣0.5分,其它錯或少寫一個扣0.5分
15、FIRST(E)=(,i FIRST(E)=*,+, FIRST(T)=*,+ FOLLOW(E)=),*,+,# FOWLLOW(E)= ),*,+,# FOLLOW(T)=(,i(3)每錯一個扣0.5分,全錯或不寫不得分,扣完為止,共5分()i*+#EE(E)EEiEEE ETEEE ETEEE E TT*T+2(1)規(guī)范推導(dǎo)過程如下。寫錯推導(dǎo)符號扣0.5分,錯寫或少寫一步推導(dǎo)扣0.5分,扣完為止,最左推導(dǎo)扣2分,共4分。(2)(1)中加下劃線的部分是句柄,標識如(1)。每少寫一個句柄扣0.5分,扣完為止,共4分。(3)每少寫步扣0.5分,扣完為止,共4分。SS ( S )S ( S )
16、) )S ( S ) )S ( S ) ) S ( S ) )3(1)打印的字符串是:12020(錯一個扣0.5分,共3分)(2)歸約過程中錯一步扣0.5分,扣完為止。(共5分)4(1)每少寫一步扣0.5分,扣完為止,共5分。while M1.q=100 E1.t=102 do M2.q=102 S1E1.f=107 do S1.nl=103 (E3.t=102) L.p=x := E4.p=T1(E3.f=103) c>d x E5.p=y + E6.p=z y zS a<b if E2.t=102 then M3.q=104 S2 E2.f=103(2)少寫一個四元式扣0.5分
17、,全錯或不寫不得分,回填錯誤扣0.5分,共5分。四元式序列為: 5(1)少寫一個扣1分,全錯或不寫不得分,共5分。FIRSTVT(S)=a,(FIRSTVT(T)=, a,(LASTVT(S)= a,)LASTVT(T)= a,), ,(2)優(yōu)先表如下。每錯一個扣0.5分,全錯或不寫不得分,扣完為止,共3分文法GS沒有兩個非終結(jié)符相鄰的情況,且其優(yōu)先表中任一對終結(jié)符之間最多滿足、 三種關(guān)系中的一種,因此是GS算符優(yōu)先文法。(2分)可以不考慮終結(jié)符“#”。a(),#A(),#或者(3)優(yōu)先函數(shù)??梢圆豢紤]終結(jié)符“#”。每錯一個扣0.5分,全錯或不寫不得分,扣完為止,共5分。a(),#f66266
18、2g777252或者a(),f44244g55523三、 填空題(每空2分,共20分)1目標程序 (target code) 語法分析(syntax analyzer) 代碼優(yōu)化器(code optimizer) 代碼產(chǎn)生器(code generator) 符號表管理(symbol table manager)2 繼承屬性(inherited attribute)3 局部優(yōu)化(local optimization)4 四元式(quatriple)5 E + * ( ) id四、 單項選擇題(每題2分,共10分)1.B 2.D 3.B 4.D 5.C五、 解答題(共70分)1(1) L(G)=0
19、m1m|M1 共2分,寫成扣1分(2) S=>0S1=>00S11=>000111,共3分, =>寫成->扣1分(3) 共3分,錯處扣0.5分,扣完為止2.(1)空白表格也可以填寫“錯誤”字樣,共4分,錯一個扣0.5分,扣完為止abc$(#)SSaBcSbABAAaAbAbBBbBB (2)共6分,其中判斷“baabbb是該文法句子”為2分,其他錯一個扣0.5分,扣完為止符號棧輸入串規(guī)則$S$BAb$BA$BbAa$BbA$BbbAa$BbbA$Bbbb$Bbb$Bb$b$baabbb$baabbb$aabbb$aabbb$abbb$abbb$bbb$bbb$bb
20、$b$SbABAaAbAaAbAbBsuccess3.(1) 共6分,其中判斷“該文法為算符優(yōu)先文法”為2分,其他錯一個扣0.5分,扣完為止+*i+><<*>><i>>(2) 共4分,錯一個扣0.5分,扣完為止+*if244g1354(1)34242421 ,共4分,錯一個扣0.5分(2)共4分,錯一個扣0.5分,扣完為止stackInput stringaction$b$b($b($b($b(a$b(A$b(Aa$ b(Aa)$ b(B$b(A$b(Aa$b(Aa)$b(B$b(A$b(Aa$b(Aa)$b(B$bA$bAb$S$s$b(aa)
21、a)a)b$(aa)a)a)b$(aa)a)a)b$abbb$(aa)a)a)b$bbb$aa)a)a)b$bb$a)a)a)b$a)a)a)b$)a)a)b$a)a)b$a)a)b$a)a)b$)a)b$a)b$a)b$a)b$)b$b$b$b$shiftshiftshiftshiftshiftreduce, Aashiftshiftreduce, BAa)reduce, A(B shiftshiftreduce, BAa)reduce, A(Bshiftshiftreduce, BAa)reduce, A(Bshiftreduce, SbAbaccept5 共12分,其中帶注釋的分析樹、三地址碼序列和四元式序列分別為4分,
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校安全工作與應(yīng)急管理計劃
- 電視設(shè)備租賃合同三篇
- 數(shù)控板料折彎機相關(guān)行業(yè)投資規(guī)劃報告
- 亞硝酸鹽中毒解毒藥行業(yè)相關(guān)投資計劃提議
- 型材:異型鋼相關(guān)項目投資計劃書
- 《液壓與氣動》課件 1齒輪泵的結(jié)構(gòu)和工作原理
- 市場管理服務(wù)相關(guān)項目投資計劃書
- 鐵路行業(yè)安全巡查的標準化計劃
- 《解除迷茫規(guī)劃人生》課件
- 普通話教程課件普通話水平測試
- Unit 1 Making friends Part B(說課稿)-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊
- 《涉江采芙蓉》 課件高中語文統(tǒng)編版必修上冊
- 2024年事業(yè)單位考試職業(yè)能力傾向測驗試題與參考答案
- 保定學(xué)院《自然語言處理》2022-2023學(xué)年第一學(xué)期期末試卷
- 北京市西城區(qū)2023-2024學(xué)年六年級上學(xué)期數(shù)學(xué)期末試卷(含答案)
- 2024年考研英語(二)真題及參考答案
- 2024年水稻種項目可行性研究報告
- 期末 (試題) -2024-2025學(xué)年人教PEP版英語六年級上冊
- 2024年貴陽南明投資集團有限責(zé)任公司招聘筆試參考題庫附帶答案詳解
- 梅花易數(shù)教學(xué)用35張幻燈片
- 會計師事務(wù)所信息安全管理制度規(guī)定
評論
0/150
提交評論