好文档 - 专业文书写作范文服务资料分享网站

编译原理第二版第五章答案

天下 分享 时间: 加入收藏 我要投稿 点赞

第五章

第5章自顶向下语法分析方法

练习(P99) 1.文法 S->a|^|(T) T->T,S|S

(1) 对(a,(a,a)和(((a,a),^,(a)),a)的最左推导。

(3)经改写后的文法是否为LL(1)的给出它的预测分析表。 (4)给出输入串(a,a)#的分析过程,并说明该串是否为G的句子。 (1) 对(a,(a,a)的最左推导为: S=>(T)

=>(T,S) =>(S,S) =>(a,S) =>(a,(T)) =>(a,(T,S)) =>(a,(S,S))

=>(a,(a,S)) =>(a,(a,a))

对(((a,a),^,(a)),a) 的最左推导为:

S=>(T) =>(T,S) =>(S,S) =>((T),S) =>((T,S),S) =>((T,S,S),S)

=>((S,S,S),S) =>(((T),S,S),S) =>(((T,S),S,S),S) =>(((S,S),S,S),S)

=>(((a,S),S,S),S) =>(((a,a),S,S),S) =>(((a,a),^,S),S) =>(((a,a),^,(T)),S)

=>(((a,a),^,(S)),S) =>(((a,a),^,(a)),S) =>(((a,a),^,(a)),a) (3)改写文法为: 0) S->a 1) S->^ 2) S->( T ) 3) T->S N 4) N->, S N 5) N->ε

FIRST FOLLOW S a ^ ( # , ) T a ^ ( ) N

, ε ) 对左部为N2的产生式可知:

FIRST (->, S N2)={,} FIRST (->ε)={ε} FOLLOW (N2)={)} {,}∩ { )}=? 所以文法是LL(1)的。 预测分析表

a ^ ( ) , # S ->a ->^ ->( T ) T ->S N ->S N ->S N N

->ε ->, S N 也可由预测分析表中无多重入口判定文法是LL(1)的。 (4)对输入串(a,a)#的分析过程为:

步骤 状态栈 当前字符 剩余输入操作 串 1 #S ( a,a)# S->(T) 2 #)T( ( a,a)# 匹配 3 #)T A ,a)# T->SN2 4 #)N2S A ,a)# S->a 5 #)N2a A ,a)# 匹配 6 #)N2 , a)# N2->,SN2 7 #)N2S, , a)# 匹配 8 #)N2S a )# S->a 9 #)N2a a )# 匹配 10 #)N2 ) # N2->ε 11 #) ) # 匹配 12 # # 可见输入串(a,a)#是文法的句子。 2.对下面的文法G: E→TE′ E′→+E|ε T→FT′ T′→T|ε F→PF′ F′→* F′|ε P→(E)|a|b|^

(1) 计算这个文法的每个非终结符的FIRST集和FOLLOW集。 (2) 证明这个文法是LL(1)的。 (3) 构造它的预测分析表。 (4) 构造它的预测下降分析程序

【解】(1)由题意分析得可推导出ε的非终结符表为: 各非终结符的FIRST集为:

FIRST(E)= FIRST(T)={(,a,b,^} FIRST(E′)={+}∪{ ε}={+,ε}

FIRST(T)= FIRST(F)={(,a,b,^}

编译原理第二版第五章答案

第五章第5章自顶向下语法分析方法练习(P99)1.文法S->a|^|(T)T->T,S|S(1)对(a,(a,a)和(((a,a),^,(a)),a)的最左推导。(3)经改写后的文法是否为LL(1)的给出它的预测分析表。(4)给出输入串(a,a)#的分析过程,并说明该串是否为G的句子。(1)对(a,(a,
推荐度:
点击下载文档文档为doc格式
986ea8zsxz44s0w0d4ij47hq70zb7d011vm
领取福利

微信扫码领取福利

微信扫码分享