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

