3 试判别如下文法是否LR(0)或SLR(1)文法: 文法 G[E]: E → E + T | T T → (E) | id | id [E] 其中
已帮助 人
3、试判别如下文法是否LR(0)或SLR(1)文法: 文法 G[E]: E → E + T | T T → (E) | id | id [E] 其中E,T为非终结符,其余符号为终结符
![3 试判别如下文法是否LR(0)或SLR(1)文法: 文法 G[E]: E → E + T | T T → (E) | id | id [E] 其中](/uploads/allimg/6-2575361Q9.jpg)
回答
共1条回复-
解:拓广文法( 1 ) S à A ( 2 ) A à aAd ( 3 ) A à aA ( 4 ) A à ε 识别文法活前缀的DFA,如图: 在 I 0 和 I 2 , I 3 中存在有移进-- 归约冲突,所以文法肯定不是LR(0)文法。 但因为 FOLLOW ( A ) ={d,b,#} ,而 {a } Ç {d,b,#}= F , 所以文法是 SLR ( 1 )文法 SLR(1)分析表如下: a b d # A I 0 S2 r4 r4 r4 1 I 1 acc I 2 S2 r4 r4 r4 3 I 3 S5 S4 I 4 r2 r2 r2 I 5 r3 r3 r3
