第五章複習題
單選
-
遞歸子程序法屬於(A)語法分析方法。
A. 自頂向下
B. 自底向上
C. 自左向右
D. 自右向左 -
採用確定的自頂向下分析時,必須(A)。
A. 消除左遞歸
B. 消除右遞歸
C. 避免回溯
D. 提取左公因子 -
自上而下語法分析的主要分析動作是(A)。
A. 推導
B. 移進
C. 規約
D. 匹配 -
一個字符屬於FOLLOW(S),這個字符的含義是(A)。
A. 一定會有一個句型中後隨S的終結符
B. S可能推導出第一個字符
C. S可能推導出最後一個字符
D. 在某句型中直接跟在S後的字符 -
在遞歸子程序法中,若文法存在左遞歸,則會使分析過程產生(D)。
A. 回溯
B. 非法調用
C. 有限次調用
D. 無限循環 -
編譯程序中的語法分析器接受以(C)爲單位的輸出,併產生有關信息供以後各階段使用。
A. 表達式
B. 產生式
C. 單詞
D. 語句 -
構造一個不帶回溯的自頂向下語法分析器,要求文法滿足(E)。
A. 對每個形如A→x1|x2|…|xn的產生式,要求FIRST(xi)與FIRST(xj)的交集爲空集(i≠j)
B. 對每個形如A→x1|x2|…|xn的產生式,若xi能推出ε,則要求FIRST(xj)與FOLLOW(A)的交集爲空集(i≠j)
C. 不含左遞歸
D. A和B同時滿足
E. A、B和C同時滿足 -
LL(1)文法(B)二義性的。
A. 都是有
B. 都沒有
C. 不一定有
D. 極少具有
多選
- 語法分析器的常用方法是(AB)。
A. 自頂向下
B. 自底向上
C. 自左向右
D. 自右向左
判斷
- LL(1)文法又稱爲預測分析法。正確
- 左遞歸會造成自頂向下分析過程出現無窮的重複。正確
- LL(1)文法不一定都是二義性的。錯誤
- 考慮文法G[A]:A→A∨B|B B→B∧C|C C→┓C|D D→(A)|i 該文法是LL(1)文法。錯誤
- 一個算符優先文法可能不存在優先函數與之對應。正確
- LR分析法在自左至右掃描輸入串是就能發現錯誤,並且能準確地指出出錯地點。正確
單選
-
最左簡單子樹的末端結點構成的符號串稱爲(B)。
A. 簡單短語
B. 句柄
C. 最左素短語
D. 素短語 -
若a爲終結符,則A→α·aβ爲(C)項目。
A. 待約
B. 接受
C. 移進
D. 規約 -
下面哪種不是自底向上的語法分析文法(C)。
A. LR(1)
B. SLR(1)
C. LL(K)
D. 算符優先文法 -
LR(k)方法是(B)。
A. 從左到右分析,每次向前預測k步的一種編譯方法
B. 從左到右分析,是否規約句柄要向後看k個輸入符號的一種編譯方法
C. 從左到右分析,共經過k步的一種編譯方法
D. 從左到右分析,每次走k步的一種編譯方法 -
算符優先分析文法是一種自底向上的分析方法,它是以(C)作爲每一步規約的對象。
A. 句柄
B. 最右直接短語
C. 最左素短語
D. 最右素短語 -
在通常的語法分析方法中,(C)特別適用於表達式的分析。
A. 簡單優先法
B. LR分析法
C. 算符優先法
D. LL(1)分析法 -
若項目集Ik含有A->α·,則在狀態k時,僅當面臨的輸入符號a∈FOLLOW(A)時,才採取“A->α·”動作的一定是(D)。
A. LALR文法
B. LR(0)文法
C. LR(1)文法
D. SLR(1)文法 -
在規範規約中,任何可規約串的出現都在(C)。
A. 棧的內部
B. 剩餘的輸入串中
C. 棧頂
D. 在棧頂和輸入串中 -
一個LR分析器實質上是一個帶有先進後出存儲棧的(A)。
A. DFA
B. NFA
C. ACTION表
D. LR分析表 -
LR分析法屬於(D)。
A. 自頂向下分析法
B. LALR分析法
C. SLR分析法
D. 自底向上分析法 -
自下而上語法分析的主要分析動作是(C)。
A. 移進
B. 推導
C. 規約
D. 匹配