当前位置:首页 > 编译原理答案
因为分析成功,所以符号串(i+i)*i是文法G[E]的合法句子。
当前栈顶 步骤 分析栈 终结符号 0 1 2 3 4 5 6 7 8 9 10 11 12 # #○<( #○<(○<i #○<(F #○<(F○<+ #○<(F○<+○<i #○<(F○<+F #○<(E #○<(E○=) #F #F○<* #F○<*○<i #F○<*F # ( i ( + i + ( ) # * i * 关系 < ○< ○> ○< ○< ○> ○> ○= ○> ○< ○< ○> ○> ○入符号 ( i + + i ) ) ) * * i # # 输入串 i+i)*i# +i)*i# i)*i# i)*i# )*i# *i# *i# *i# i# i# # 素短语 i i F+F (E) i F*F 分析 13
21.解:文法G[S]的LL(1)分析表如表所示:
Z→aBaA A→bBBaA∣ε B→dC C→cC∣ε
Z A a Z→aBaA b S→bAB A→bBBaA c d # A→ε #T # # 成功 优先 当前输 余留 最左
B C
C→ε C→cC B→dC C→ε 22.解: (1) 给文法G[Z]的各产生式添加编号如下:
0. Z′→Z 4.A→b 1. Z→ZbB 5.B→Bc 2. Z→Aa 6.B→d 3. A→Ad
则文法G[Z]的SLR(1)分析表如下表所示:
ACTION 状态 a 0 1 2 3 4 5 6 7 8 9
(2) 对输入符号串babdc的LR分析过程如下表所示。因为分析成功,所以符号串babdc是文法G[S]的合法句子。
步骤 1 2 3 4 状态栈 I0 I0I3 I0I2 I0I2I4 符号栈 # #b #A #Aa 余留输入串 babdc# abdc# abdc# bdc# 分析动作 s3 r4 s4 r2 下一状态 3 GOTO[I0 ,A]=2 4 GOTO[I0 ,Z]=1 4GOTO d b s3 s6 c r6 s9 r5 # acc r2 r6 r1 r5 Z 1 A 2 B 8 s s5 r4 r3 s7 r4 r3 r2 r6 r1 r5
5 6 7 8 9 10 11
I0I1 I0I1I6 I0I1I6I7 I0I1I6I8 I0I1I6I8I9 I0I1I6I8 I0I1 #Z #Zb #Zbd #ZbB #ZbBc #ZbB #Z bdc# dc# c# c# # # # s6 s7 r6 s9 r5 r1 acc 6 7 GOTO[I6 ,B]=8 9 GOTO[I6 ,B]=8 GOTO[I0 ,Z]=1
共分享92篇相关文档