資源描述:
《編譯原理試題(網(wǎng)工最終)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、一.填空題。1.將源語(yǔ)言代碼等價(jià)轉(zhuǎn)換為目標(biāo)代碼的軟件統(tǒng)稱為(編譯器)。2.上下文無(wú)關(guān)文法由(終結(jié)符)(非終結(jié)符)(開(kāi)始符號(hào))和(產(chǎn)生式)組成。3.動(dòng)態(tài)存儲(chǔ)分配包括(隊(duì)列式)存儲(chǔ)分配和堆棧式存儲(chǔ)分配兩種形式。4.正規(guī)表達(dá)式表示的語(yǔ)言稱為(正規(guī)集)。5.產(chǎn)生相同語(yǔ)言的兩個(gè)不同的文法稱為(等價(jià))文法。6.語(yǔ)法分析器的輸入是(記號(hào)流),輸出是(語(yǔ)法分析樹(shù))。7.語(yǔ)法分析最常用的兩類方法是(自底向上分析)和(自頂向下分析)。8.句型的最左直接短語(yǔ)稱為該句句型的(句柄)。9.X:-(a+b)/(c-d)的后綴式是(ab+cd-/-
2、)。10.文法的符號(hào)的屬性有綜合屬性和(繼承屬性)。11.描述語(yǔ)法分析樹(shù)中屬性實(shí)例求值順序的圖稱為(依賴圖)。設(shè)二維數(shù)組按行存放,每個(gè)元素占用4個(gè)字節(jié),則數(shù)組a[1.15.1.20]某個(gè)元素a[i,j]的地址計(jì)算公式為((a+(i-1)*20+(j-1))*4)。12.常用的中間代碼表示形式包括后綴式、(靜態(tài)單賦值)、(三地址代碼)和(DAG圖)。二、大選題。1.程序中各個(gè)語(yǔ)法成分含義的描述稱為(C)A.詞法B.語(yǔ)法C.語(yǔ)義D.語(yǔ)用2.正規(guī)式M1和M2等價(jià)是指(A)A.兩者識(shí)別的語(yǔ)言集相等B.兩者的又向弧條數(shù)相等C.兩
3、者的狀態(tài)數(shù)相等D.兩者的狀態(tài)數(shù)和有向弧數(shù)相等3.(D)不是編譯器的組成部分。A掃描器B分析器C優(yōu)化器D鏈接器4.中間代碼生成時(shí)所依據(jù)的是(C)規(guī)則。A語(yǔ)法B詞法C語(yǔ)義D等價(jià)代換5.LL(K)分析的方法中第二個(gè)L表示(B).A自左向右分析B每次最左推導(dǎo)C自右向左分析D每次最左歸約6.A->a*αβ是(B)項(xiàng)目。A歸約B移進(jìn)C待約D接受7.語(yǔ)法分析中FIRST,F(xiàn)ORLOW集合均是(B)。A非終結(jié)符集B終結(jié)符集C字母表D狀態(tài)集8.若項(xiàng)目集Ik含有A->a,則在狀態(tài)K時(shí),僅當(dāng)面臨的輸入符號(hào)屬于FOLLOW(A)時(shí),才采取A-
4、>a動(dòng)作的一定是(D)。A。LALRB。LR(0)C。LR(1)D。SLR(1)9.語(yǔ)義分析中S-屬性文法(A)。A只涉及綜合屬性B只涉及集成屬性C既有綜合屬性又有集成屬性D無(wú)綜合屬性和集成屬性10.編譯器產(chǎn)生的目標(biāo)匯編代碼由(A)處理生成可重定位代碼。A匯編器BloaderClink-editorD交叉匯編器三.簡(jiǎn)答題。1.描述編譯器的各個(gè)組成部分及每個(gè)部分的主要任務(wù)。詞法分析器:讀入組成源程序的字符流,并且將它們組織成為有意義的詞素的序列。語(yǔ)法分析功能:使用由詞法分析器生成的各個(gè)詞法單元的第一個(gè)分量來(lái)創(chuàng)建樹(shù)形的中間
5、表示,該中間表示給出了詞法分析產(chǎn)生的詞法單元流的語(yǔ)法結(jié)構(gòu)。語(yǔ)義分析:使用語(yǔ)法樹(shù)和符號(hào)表中的信息來(lái)檢查源程序是否和語(yǔ)言定義的語(yǔ)義一致。它同時(shí)也收集類型信息,并把這些信息存放在語(yǔ)法樹(shù)或字符表中,以便在隨后的中間代碼生成過(guò)程中使用;中間代碼生成:為源程序產(chǎn)生更低級(jí)的顯示中間表示;代碼優(yōu)化:改進(jìn)中間代碼,以便產(chǎn)生較好的目標(biāo)代碼;代碼生成:代碼生成取源程序的一種中間表示作為輸入并把它映射到一種目標(biāo)語(yǔ)言;符號(hào)表:符號(hào)表是為每個(gè)變量名字保存一個(gè)記錄的數(shù)據(jù)結(jié)構(gòu),記錄的域是該名字的屬性。2.說(shuō)明預(yù)測(cè)分析程序的工作過(guò)程(分析表和棧的結(jié)合產(chǎn)
6、生的動(dòng)作)1)構(gòu)造文法2)改造文法:消除二義性、消除左遞歸、提取左因子3)求每個(gè)變量的FIRST集和變量的FOLLOW集,從而求得每個(gè)候選式的SELECT集4)檢查是不是LL(1)文法5)構(gòu)造預(yù)測(cè)分析表6)實(shí)現(xiàn)預(yù)測(cè)分析器3說(shuō)明語(yǔ)法制導(dǎo)定義SDD的組成部分。上下文無(wú)關(guān)文法和屬性及規(guī)則4.說(shuō)明活動(dòng)記錄的作用及其組成。實(shí)參返回值控制鏈:指向調(diào)用者的活動(dòng)記錄訪問(wèn)鏈:用來(lái)訪問(wèn)存于其它活動(dòng)記錄中的非局部數(shù)據(jù)保存的機(jī)器狀態(tài)局部數(shù)據(jù)臨時(shí)數(shù)據(jù)四.詞法分析題。給定正規(guī)集:以0、1構(gòu)成的所有以1開(kāi)頭,以101結(jié)尾的字符串,完成下列操作:(1
7、)給出對(duì)應(yīng)的正規(guī)式。(2)構(gòu)造對(duì)應(yīng)的NFA。(3)用子集法將上述NFA轉(zhuǎn)化為DFA。(4)將上述DFA化簡(jiǎn)。(1)五.語(yǔ)法分析題。1.給定文法G為:S->a
8、^
9、(T)T->T,S
10、S給出句子(a,(a,a))和(((a,a),^,(a)),a)的最左推導(dǎo)。2.構(gòu)造上述文法G的LR(0)項(xiàng)目集規(guī)范族及LR(0)分析表。六.中間代碼生成。寫出下列循環(huán)語(yǔ)句對(duì)應(yīng)的三地址語(yǔ)句序列:While(x>y)doIf(a==b)thenX:=2*y+a;