编译原理习题(含答案)
語(yǔ)法分析_1
1 如果文法G是無(wú)二義的,則它的任何句子α( )。
A. 最左推導(dǎo)和最右推導(dǎo)對(duì)應(yīng)的語(yǔ)法樹(shù)必定相同
B. ?最左推導(dǎo)和最右推導(dǎo)對(duì)應(yīng)的語(yǔ)法樹(shù)可能不同
C. 最左推導(dǎo)和最右推導(dǎo)必定相同
D. ?可能存在兩個(gè)不同的最左推導(dǎo),但它們對(duì)應(yīng)的語(yǔ)法樹(shù)相同
?
2 采用自上而下分析,不必( )。
A. 消除回溯
B. 消除左遞歸
C. 消除右遞歸
D. 提取公共左因子
?
3 識(shí)別上下文無(wú)關(guān)語(yǔ)言的自動(dòng)機(jī)是( )。
A. 下推自動(dòng)機(jī)
B. NFA
C. DFA
D. 圖靈機(jī)
?
4 ( )文法不是LL(1)的。
A. 遞歸
B. 右遞歸
C. 2型
D. 含有公共左因子的
?
5 已知文法G是無(wú)二義的,則對(duì)G的任意句型α( )。
A. 最左推導(dǎo)和最右推導(dǎo)對(duì)應(yīng)的語(yǔ)法樹(shù)必定相同
B. 最左推導(dǎo)和最右推導(dǎo)對(duì)應(yīng)的語(yǔ)法樹(shù)可能相同
C. 最左推導(dǎo)和最右推導(dǎo)必定相同
D. ?可能存在兩個(gè)不同的最左推導(dǎo),但他們對(duì)應(yīng)的語(yǔ)法樹(shù)相同
?
6 在自上而下的語(yǔ)法分析中,應(yīng)從( )開(kāi)始分析。
A. 句型
B. 句子
C. 文法開(kāi)始符號(hào)
D. 句柄
?
7 一個(gè)文法G,若( ),則稱它是LL(1)文法。
A. G中不含左遞歸
B. G無(wú)二義性
C. G的LL(1)分析表中不含多重定義的條目
D. G中產(chǎn)生式不含左公因子
?
8 語(yǔ)法分析器的輸入是()。
A. Token序列
B. 源程序
C. 目標(biāo)程序
D. 符號(hào)表
?
9 在遞歸子程序方法中,若文法存在左遞歸,則會(huì)使分析過(guò)程產(chǎn)生( )。
A. 回溯
B. 非法調(diào)用
C. 有限次調(diào)用
D. 無(wú)限循環(huán)
?
10 LL(1)分析法中“1”的含義是在輸入串中查看一個(gè)輸入符號(hào),其目的是( )。
A. 確定最左推導(dǎo)
B. 確定句柄
C. 確定使用哪一個(gè)產(chǎn)生式進(jìn)行展開(kāi)
D. 確定是否推導(dǎo)
?
語(yǔ)法分析_2
1 在語(yǔ)法分析處理中,FIRST集合、FOLLOW集合均是( )。
A. 非終結(jié)符集
B. 終結(jié)符集
C. 字母表
D. 狀態(tài)集
?
2 在編譯過(guò)程中,如果遇到錯(cuò)誤應(yīng)該( )。
A. 把錯(cuò)誤理解成局部的錯(cuò)誤
B. 對(duì)錯(cuò)誤在局部范圍內(nèi)進(jìn)行糾正,繼續(xù)向下分析
C. 當(dāng)發(fā)現(xiàn)錯(cuò)誤時(shí),跳過(guò)錯(cuò)誤所在的語(yǔ)法單位繼續(xù)分析下去
D. 當(dāng)發(fā)現(xiàn)錯(cuò)誤時(shí)立即停止編譯,待用戶改正錯(cuò)誤后再繼續(xù)編譯
?
3 已知文法G[S]:
S→eT|RT T→DR|ε R→dR|ε D→a|bd
求FIRST(S)=()。
A. {e }
B. {e,d,a,b}
C. {e,d }
D. {e,d,a,b,ε}
?
4 已知文法G[S]:
S→eT|RT T→DR|ε R→dR|ε D→a|bd
求FOLLOW(D)=()。
A. {d,e}
B. {d,ε}
C. {d,$}
D. {a,d}
?
5 FIRST集中可以含有ε。
A. 對(duì)
B. 錯(cuò)
?
6 FOLLOW集中可以含有ε。
A. 對(duì)
B. 錯(cuò)
?
7 SELECT集中可以含有ε。
A. 對(duì)
B. 錯(cuò)
?
?
語(yǔ)法分析_3
1 若a為終結(jié)符,則A→α · aβ為( )項(xiàng)目。
A. 歸約
B. 移進(jìn)
C. 接受
D. 待約
?
2 一個(gè)句型中的( )稱為該句型的句柄。
A. 最左直接短語(yǔ)
B. 最右直接短語(yǔ)
C. 終結(jié)符
D. 非終結(jié)符
?
3 在自底向上的語(yǔ)法分析方法中,分析的關(guān)鍵是( )。
A. 尋找句柄
B. 尋找句型
C. 消除遞歸
D. 選擇候選式
?
4 在自頂向下的語(yǔ)法分析方法中,分析的關(guān)鍵是( )。
A. 尋找句柄
B. 尋找句型
C. 消除遞歸
D. 選擇候選式
?
5 若B為非終結(jié)符,則 A→a · Bb 為( )。
A. 移進(jìn)項(xiàng)目
B. 歸約項(xiàng)目
C. 接受項(xiàng)目
D. 待約項(xiàng)目
?
6 在規(guī)范歸約中,用( )來(lái)刻畫可歸約串。
A. 直接短語(yǔ)
B. 句柄
C. 最左素短語(yǔ)
D. 素短語(yǔ)
?
7 若B為非終結(jié)符,則A→α·Bβ為( )項(xiàng)目。
A. 歸約
B. 移進(jìn)
C. 接受
D. 待約
?
8 下列動(dòng)作中,不是自下而上分析動(dòng)作的是( )。
A. 移進(jìn)
B. 展開(kāi)
C. 接受
D. 報(bào)錯(cuò)
?
9 下列動(dòng)作中,不是自上而下分析動(dòng)作的是( )。
A. 匹配
B. 展開(kāi)
C. 移進(jìn)
D. 報(bào)錯(cuò)
?
10 若B為非終結(jié)符,則A→α· 為( )項(xiàng)目。
A. 歸約
B. 移進(jìn)
C. 接受
D. 待約
?
11 設(shè)有文法G[T]:
T→T*F|F
F→F↑P|P
P→(T)|a
該文法句型T*P↑(T*F)的句柄是下列符號(hào)串???????。??
A.?(T*F) ?????
B. T*F ???????
C. P ????????
D. P↑(T*F)
?
12 LR分析表中的轉(zhuǎn)移表(goto)是以()作為列標(biāo)題的。
A. 終結(jié)符
B. 非終結(jié)符
C. 終結(jié)符或非終結(jié)符
D. 表示狀態(tài)的整型數(shù)
?
13 LR分析表中的動(dòng)作表(action)是以( )作為列標(biāo)題的。
A. 終結(jié)符
B. 非終結(jié)符
C. 終結(jié)符或非終結(jié)符
D. 終結(jié)符和結(jié)束符$
?
14?下列項(xiàng)目中為可歸約項(xiàng)目的是()。
A. E′→· E
B. L→·
C. L→-· L
D. F→L*· F
?
15?LR分析器的核心部分是一張分析表,該表由( )組成。
A. ACTION表
B. GOTO表
C. 預(yù)測(cè)分析表
D. ACTION表和GOTO表
?
?語(yǔ)法分析_4
1 一個(gè)LR(1)文法合并同心集后若不是LALR(1)文法( )
A. 則可能存在移進(jìn)/歸約沖突
B. 則可能存在歸約/歸約沖突
C. 則可能存在移進(jìn)/歸約沖突和歸約/歸約沖突
D. 以上說(shuō)法都不對(duì)
?
2 若狀態(tài)k含有項(xiàng)目“A→α· ”,且僅當(dāng)輸入符號(hào)a∈FOLLOW(A)時(shí),才用規(guī)則“A →α”歸約的
語(yǔ)法分析方法是( )。
A. LALR分析法
B. R(0)分析法
C. LR(1)分析法
D. SLR(1)分析法
?
3 LR(1)文法都是( )。
A. 無(wú)二義性且無(wú)左遞歸
B. 可能有二義性但無(wú)左遞歸
C. 無(wú)二義性但可能是左遞歸
D. 可以既有二義性又有左遞歸
?
4 同心集合并可能會(huì)產(chǎn)生新的( )沖突。
A. 二義
B. 移進(jìn)/移進(jìn)
C. 移進(jìn)/歸約
D. 歸約/歸約
?
5 就文法的描述能力來(lái)說(shuō),有( )。
A. SLR(1) ? LR(0)
B. LR(1) ? LR(0)
C. SLR(1) ? LR(1)
D. 無(wú)二義文法 ? LR(1)
?
6 在LR(0)的Action表中,如果某行中存在標(biāo)記為“rj”的欄,則( )。
A. 該行必定填滿“rj”
B. 該行未必填滿“rj”
C. 其他行可能也有“rj”
D. goto表中也可能有“rj”
?
7 若狀態(tài)k含有項(xiàng)目“A→α·”,對(duì)任意非終結(jié)符a,都用規(guī)則“A →α”歸約的語(yǔ)法分析方法是(
)。
A. LALR分析法
B. LR(0)分析法
C. LR(1)分析法
D. SLR(1)分析法
?
8 在SLR( 1)的Action表中,如果某行中存在標(biāo)記為“rj”的欄,則( )。
A. 該行必定填滿“rj”
B. 該行未必填滿“rj”
C. 其他行可能也有“rj”
D. goto表中也可能有“rj”
?
9 若狀態(tài)k含有項(xiàng)目“A→α·”,且僅當(dāng)輸入符號(hào)a∈FOLLOW( A)時(shí),才用規(guī)則“A →α”歸約的語(yǔ)
法分析方法是( )。
A. LALR分析法
B. LR(0)分析法
C. LR(1)分析法
D. SLR(1)分析法
?
10?編譯程序的語(yǔ)法分析器必須輸出的信息是( )。
A. 語(yǔ)法規(guī)則信息
B. 語(yǔ)法錯(cuò)誤信息
C. 語(yǔ)法分析過(guò)程
D. 語(yǔ)句序列
總結(jié)
以上是生活随笔為你收集整理的编译原理习题(含答案)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 中国大学MOOC 编译原理 第6讲测验
- 下一篇: 使用pytz模块进行时区转换及时间计算