資源描述:
《編譯原理課后習題及答案》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、《編譯原理》考試試題及答案(匯總)一、是非題(請在括號內(nèi),正確的劃√,錯誤的劃×)(每個2分,共20分)1.編譯程序是對高級語言程序的解釋執(zhí)行。(×)2.一個有限狀態(tài)自動機中,有且僅有一個唯一的終態(tài)。(×)3.一個算符優(yōu)先文法可能不存在算符優(yōu)先函數(shù)與之對應。(√)4.語法分析時必須先消除文法中的左遞歸。(×)5.LR分析法在自左至右掃描輸入串時就能發(fā)現(xiàn)錯誤,但不能準確地指出出錯地點。(√)6.逆波蘭表示法表示表達式時無須使用括號。(√)7.靜態(tài)數(shù)組的存儲空間可以在編譯時確定。(×)8.進行代碼優(yōu)化時應著重考慮循環(huán)的代碼優(yōu)化,這對提高目標代碼的效率將起更大作用。
2、(×)9.兩個正規(guī)集相等的必要條件是他們對應的正規(guī)式等價。(×)10.一個語義子程序描述了一個文法所對應的翻譯工作。(×)二、選擇題(請在前括號內(nèi)選擇最確切的一項作為答案劃一個勾,多劃按錯論)(每個4分,共40分)1.詞法分析器的輸出結(jié)果是。A.()單詞的種別編碼B.()單詞在符號表中的位置C.()單詞的種別編碼和自身值D.()單詞自身值2.正規(guī)式M1和M2等價是指。A.()M1和M2的狀態(tài)數(shù)相等B.()M1和M2的有向邊條數(shù)相等C.()M1和M2所識別的語言集相等D.()M1和M2狀態(tài)數(shù)和有向邊條數(shù)相等3.文法G:S→xSx
3、y所識別的語言是。A.()xyx
4、B.()(xyx)*C.()xnyxn(n≥0)D.()x*yx*4.如果文法G是無二義的,則它的任何句子α。A.()最左推導和最右推導對應的語法樹必定相同B.()最左推導和最右推導對應的語法樹可能不同C.()最左推導和最右推導必定相同D.()可能存在兩個不同的最左推導,但它們對應的語法樹相同5.構(gòu)造編譯程序應掌握。A.()源程序B.()目標語言C.()編譯方法D.()以上三項都是6.四元式之間的聯(lián)系是通過實現(xiàn)的。A.()指示器B.()臨時變量C.()符號表D.()程序變量6.表達式(┐A∨B)∧(C∨D)的逆波蘭表示為。A.()┐AB∨∧CD∨B.()A┐B
5、∨CD∨∧C.()AB∨┐CD∨∧D.()A┐B∨∧CD∨7.優(yōu)化可生成的目標代碼。A.()運行時間較短B.()占用存儲空間較小C.()運行時間短但占用內(nèi)存空間大D.()運行時間短且占用存儲空間小8.下列優(yōu)化方法不是針對循環(huán)優(yōu)化進行的。A.()強度削弱B.()刪除歸納變量C.()刪除多余運算D.()代碼外提9.編譯程序使用區(qū)別標識符的作用域。A.()說明標識符的過程或函數(shù)名B.()說明標識符的過程或函數(shù)的靜態(tài)層次C.()說明標識符的過程或函數(shù)的動態(tài)層次D.()標識符的行號三、填空題(每空1分,共10分)1.計算機執(zhí)行用高級語言編寫的程序主要有兩種途徑:解釋和編
6、譯。2.掃描器是詞法分析器,它接受輸入的源程序,對源程序進行詞法分析并識別出一個個單詞符號,其輸出結(jié)果是單詞符號,供語法分析器使用。3.自上而下分析法采用移進、歸約、錯誤處理、接受等四種操作。4.一個LR分析器包括兩部分:一個總控程序和一張分析表。5.后綴式abc-/所代表的表達式是a/(b-c)。6.局部優(yōu)化是在基本塊范圍內(nèi)進行的一種優(yōu)化。四、簡答題(20分)1.簡要說明語義分析的基本功能。答:語義分析的基本功能包括:確定類型、類型檢查、語義處理和某些靜態(tài)語義檢查。1.考慮文法G[S]:S→(T)
7、a+S
8、aT→T,S
9、S消除文法的左遞歸及提取公共左因子。解
10、:消除文法G[S]的左遞歸:S→(T)
11、a+S
12、aT→ST′T′→,ST′
13、ε提取公共左因子:S→(T)
14、aS′S′→+S
15、εT→ST′T′→,ST′
16、ε2.試為表達式w+(a+b)*(c+d/(e-10)+8)寫出相應的逆波蘭表示。解:wab+cde10-/+8+*+3.按照三種基本控制結(jié)構(gòu)文法將下面的語句翻譯成四元式序列:while(A17、02)101(j,_,_,113)102(j<,B,D,104)103(j,_,_,113)104(j=,A,1,106)105(j,_,_,108)106(+,C,1,C)107(j,_,_,112)108(j≤,A,D,110)109(j,_,_,112)110(+,A,2,A)111(j,_,_,108)112(j,_,_,100)1131.已知文法G[S]為S→aSb
18、Sb
19、b,試證明文法G[S]為二義文法。證明:由文法G[S]:S→aSb
20、Sb
21、b,對句子aabbbb對應的兩棵語法樹為:因此,文法G[S]為二義文法。五.計算題(10分)已知文法A->
22、aAd
23、aAb
24、ε判斷該文法是否是SL