您的当前位置:首页正文

大学《编译原理》期末试题含答案(九)

来源:好兔宠物网
大学《编译原理》期末试题含答案

1. 设有如下文法G(S),试消除其左递归。

G(S):S—>Ac|c A—>Bb|b B—>Sa|a

解:

S→abcS′|bcS′|cS′, S′→abcS′|

2. 试构造与下面G(S)等价的无左递归的文法。

G(S):S—>Sa|Nb|c N—>Sd|Ne|f

解:S→fN′bS′|cS′, S′→aS′|dN′bS′|, N′→eN′| 3. 设有文法G(S):

S—>aBc|bAB A—>aAb|b B—>b|ε

①求各产生式的FIRST集,FOLLOW(A)和FOLLOW(B),以及各产生式的SELECT集。 ②构造LL(1)分析表,并分析符号串baabbb是否是。

解:(1)FIRST(aBc)={a}, FIRST(bAB)={b} FIRST(aAb)={a}, A→b: FIRST(A→b)={b}, B→b: FIRST(b) = {b}, FIRST(ε)={ε}

FOLLOW(A)={b, #}, FOOLOW(B)={c, #}

SELECT(S→aBc)={a}, SELECT(S→bAB) ={b}, SELECT(A→aAb)={a}, SELECT(A→b)={b}, SELECT(B→b)={b}, SELECT(B→)={c, #}

因此,所得的LL(1)分析表如表A-4所示。

表A-4 LL(1)分析表 (2)分析符号串baabbb成功,baabbb是该文法的句子,如图A-16所示。

输输入符号 入 a b c # VN S S→aBc S→bAB A A→aAb A→b B B→b B→ B→ 第1页共6页

步骤 符号栈 输入串 所用的产生式 1 #S baabbb# SbAB 2 #BAb baabbb# 3 #BA aabbb# AaAb 4 5 6 7 #BbAa #BbA #BbbAa #BbbA aabbb# abbb# AaAb abbb# bbb# Ab bbb# bb# b# # # Bε 成功 8 #Bbbb 9 #Bbb 10 #Bb 11 #B 12 # 图A-16 识别串baabbb的过程

4. 对下列文法G(S):

S—>D(R) R—>R;P|P P—>S|I D—>i

①计算文法G中每个非终结符的FIRSTVT集和LASTVT集。 ②构造文法G的算符优先关系矩阵。 解:(1)FIRSTVT(S)={(, i},FIRSTVT(D) ={i},FIRSTVT(R)={;, (, i},FIRSTVT(P)={i, (},LASTVT(S)={)},LASTVT(D)={i},LASTVT(R) = {;, ), i},LASTVT(P)={i, )}

(2)算符优先矩阵,如表A-5所示。

表A-5 优先矩阵

( ) ; i # ( ) ; i #                5. 已知文法G(S): S—>a|(T) T—>T,S|S

①给出句子((a,a),a)的最左推导并画出语法树;②给出句型(T,a,(T))所有的短语、直接短语、素短语、最左素短语、句柄和活前缀。

解:(1)最左推导:S(T)(T,S)(S,S) (a,S)(a,(T))(a,(T,S))(a,(S,S))(a,(a, S))(a,(a,a))

语法树:如图A-16所示。

第2页共6页

S( T )T , SSa( T )T , SSaa图A-16 (a,(a,a))的语法树

(2)句型(T, a, (T))的短语、直接短语、素短语、最左素短语、句柄、活前缀及语法树(图A-17)。

短语:a || T,a || (T) || T , a , (T) || (T , a , (T)) 直接短语:a || (T) 素短语:a || (T) 最左素短语:a 句柄:a

活前缀: || ( || (T || (T , || (T , a

S( T )T , ST , S( T )a 图A-17 (T,a,(T))的语法树

6. 设文法G(S)为:

S—>a|aAb S—>b|bBa A—>1A0|ε B—>1B0|ε

求①LR(0)项目集族;②构造识别文法G(E)的DFA; ③构造文法G(E)的SLR(1)的分析表; ④分析句子a1100b的识别过程。

解:(1)、(2)LR(0)项目集族和识别活前缀的DFA,如图A-19所示。

图A-19 LR(0)

第3页共6页

I1: S′S· SaAbI2: Sa· Sa·Ab A·1A0  A·I4: SaA·b AI8: SaAb· I9: A1A·0 01I5: A1·A0 A·1A0  A·1I12: A1A0· I0: S′·S S·a S·aAb S·b S·bBa BbI3: Sb· Sb·Ba B·1B0  B·I6: SbB·a aBI10: SbBa· I11: B1B·0 011I7: B1·B0 B·1B0  B·I13: B1B0· 项目集族和DFA

(3)、(4)略。

第4页共6页

因篇幅问题不能全部显示,请点此查看更多更全内容