西交《編譯原理》在線作業(yè)
試卷總分:100 得分:100
一、單選題 (共 30 道試題,共 60 分)
1.兩個不同過程的活動,其生存期是( )。
A.重疊的,不嵌套的
B.不重疊的,嵌套的
C.重疊的,嵌套的
D.不重疊的,不嵌套的
2.詞法分析器的輸入是( )。
A.單詞符號串
B.源程序
C.語法單位
D.目標(biāo)程序
3.語法分析應(yīng)遵循( )。
A.語義規(guī)則
B.語法規(guī)則
C.構(gòu)詞規(guī)則
D.等價變換規(guī)則
4.從左線性文法構(gòu)造有限自動機(jī)時,通常自動機(jī)狀態(tài)個數(shù)比文法非終結(jié)符號數(shù)多
A.4
B.2
C.0
D.1
5.代多數(shù)實用編譯程序所產(chǎn)生的目標(biāo)代碼都是一種可重定位的指令代碼,在運(yùn)行前必須借助于一個( )把各個目標(biāo)模塊,包括系統(tǒng)提供的庫模塊連接在一起,確定程序變量或常數(shù)在主存中的位置,裝入內(nèi)存中制定的起始地址,使之成為一個可運(yùn)行的絕對指令代碼的程序。
A.重定位程序
B.解釋程序
C.連接裝配程序
D.診斷程序
6.自上而下分析面臨的四個問題中,不包括( )
A.需消除左遞歸;
B.存在回朔;
C.虛假匹配;
D.尋找可歸約串
7.Fortran語言的編譯程序采用_______分配策略。
A.靜態(tài);
B.最佳;
C.堆式動態(tài);
D.棧式動態(tài);
8.四元式表示法的優(yōu)點為( )。
A.不便于優(yōu)化處理,但便于表的更動
B.不便于優(yōu)化處理,但節(jié)省存儲空間
C.便于優(yōu)化處理,也便于表的更動
D.便于表的更動,也節(jié)省存儲空間
9.許多廣為使用的語言,如Fortran、C、Pascal等,屬于( )。
A.強(qiáng)制式語言
B.應(yīng)用式語言
C.基于規(guī)則的語言
D.面向?qū)ο蟮恼Z言
10.一個( )指明了在分析過程中的某時刻所能看到產(chǎn)生式多大一部分。
A.活前綴
B.前綴
C.項目
D.項目集
11.編譯程序是對( )。
A.匯編程序的翻譯
B.高級語言程序的解釋執(zhí)行
C.機(jī)器語言的執(zhí)行
D.高級語言的翻譯
12.( )語言具有這樣的特點:沒有分程序結(jié)構(gòu);過程定義不允許嵌套;允許過程嵌套定義。
A.Fortran
B.Pascal
C.C
D.都不
13.在下述的編譯方法中,自底向上的方法有 ( )。
A.簡單優(yōu)先分析
B.算符優(yōu)先分析
C.遞歸下降分析
D.預(yù)測分析技術(shù)
E.LR(K)分析
F.SLR(k)分析
G.LL(k)分析
H.LALR(K)分析
14.一個句型中的( )稱為該句型的句柄。
A.最左直接短語
B.最右直接短語
C.終結(jié)符
D.非終結(jié)符
15.( )是描述語言的語法結(jié)構(gòu)的形式規(guī)則。
A.文法
B.語義
C.詞法
D.語法
16.在自頂向下的語法分析方法中,分析的關(guān)鍵是( )
A.尋找句柄
B.尋找句型
C.消除遞歸
D.選擇候選式
17.文法開始符號的所有( )作為屬性計算前的初始值。
A.綜合屬性
B.繼承屬性
C.繼承屬性和綜合屬性
D.都不是
18.在編譯過程中,符號表的主要作用是( )。
A.幫助錯誤處理
B.輔助語法錯誤的檢查
C.輔助語義的正確性檢查
D.輔助代碼生成
19.LR(1)文法都是( )
A.無二義性且無左遞歸
B.可能有二義性但無左遞歸
C.無二義性但可能是左遞歸
D.可以既有二義性又有左遞歸
20.文法開始符號的所有( )作為屬性計算前的初始值。
A.綜合屬性
B.繼承屬性
C.繼承屬性和綜合屬性
D.都不是
21.給定文法A→bA | ca,為該文法句子的是( )
A.bba
B.cab
C.bca
D.cba
22.文法G產(chǎn)生的( )的全體是該文法描述的語言。
A.句型
B.終結(jié)符集
C.非終結(jié)符集
D.句子
23.在自底向上的語法分析方法中,分析的關(guān)鍵是( )
A.尋找句柄
B.尋找句型
C.消除遞歸
D.選擇候選式
24.在使用高級語言編程時,首先可通過編譯程序發(fā)現(xiàn)源程序的全部和部分( )錯誤。
A.語法
B.語義
C.語用
D.運(yùn)行
25.布爾表達(dá)式計算時可以采用某種優(yōu)化措施,比如A and B用if-then-else可解釋為( )。
A.if A then true else B
B.if A then B else false;
C.if A then false else true;
D.if A then true else false;
26.在LR(0)的ACTION子表中,如果某一行中存在標(biāo)記“rj”的欄,則( )。
A.該行必定填滿rj
B.該行未填滿rj
C.其他行也有rj
D.goto子表中也有rj
27.描述一個語言的文法是( )
A.唯一的
B.不唯一的
C.可能唯一
D.都不正確
28.靜態(tài)分配允許程序出現(xiàn)( )。
A.遞歸過程
B.可變體積的數(shù)據(jù)項目
C.靜態(tài)變量
D.待定性質(zhì)的名字
29.使用三元式是為了
A.便于代碼優(yōu)化處理
B.避免把臨時變量填入符號表
C.節(jié)省存儲代碼的空間
D.提高訪問代碼的速度
30.教材介紹了三種符號表的構(gòu)造和處理方法,其中________中常把符號表組織成二叉樹形式。
A.線性組織;
B.排序組織和二分法;
C.雜湊(散列)組織;
D.非線性組織
二、判斷題 (共 20 道試題,共 40 分)
31.每個文法都能改寫為LL(1)文法。
32.窺孔優(yōu)化方法是通過考察一小段目標(biāo)指令,并把這些指令替換為更短和更快的一段指令,從而提高目標(biāo)代碼的質(zhì)量。( )
33.強(qiáng)度削弱是指把程序中執(zhí)行時間較長的運(yùn)算替換為執(zhí)行時間較短的運(yùn)算。( )
34.正規(guī)文法產(chǎn)生的語言都不可以用上下文無關(guān)文法來描述。( )
35.編譯程序生成的目標(biāo)程序都是可執(zhí)行的程序。( )
36.對任何一個NFAM,都存在一個DFAM',使得L(M')=L(M)。( )
37.變量既持有左值又持有右值,而常數(shù)和帶有算符的表達(dá)式一般認(rèn)為只持有右值。( )
38.對于每一個左線性文法G1,不一定存在一個右線性文法G2,使得L(G1)=L(G2)。( )
39.確定的自動機(jī)以及不確定的自動機(jī)都能正確地識別正規(guī)集。( )
40.算符優(yōu)先文法中任何兩個相鄰的終結(jié)符號之間至少滿足三種關(guān)系(<?,?>,=?)之一。( )
41.算符優(yōu)先關(guān)系表不一定存在對應(yīng)的優(yōu)先函數(shù)。
42.復(fù)寫傳播的目的使對某些變量的賦值變?yōu)闊o用。( )
43.算符優(yōu)先分析法是一種規(guī)范規(guī)約法。( )
44.一棵語法樹表示了一個句型所有的不同推導(dǎo)過程,包括最右推導(dǎo)和最左推導(dǎo)。 ( )
45.在不含嵌套過程的詞法作用域中,若一個過程中有對名字a的非局部引用,則a必須在任何過程(或函數(shù))外被說明。( )
46.NFAM的非確定性表現(xiàn)在它有多個終態(tài)。( )
47.設(shè)r和s分別是正規(guī)式,則有L(r|s)=L(r)|L(s)。( )
48.對于允許遞歸調(diào)用的程序語言,程序運(yùn)行時的存儲分配策略不能采用靜態(tài)的存儲分配策略。( )
49.LL(1)文法不能用LR(1)分析器來分析。( )
50.每一個SLR(1)文法也都是LR(1)文法。( )