4.6.5
(1)AaAb与BbBa不能都推导出ε,FIRST(AaAb) = {a},FIRST(BbBa) = {b},不相交,所以该文法是LL(1)的。
(2)
S_0状态:
S-> · AaAb
S-> · BbBa
A-> · ε
B-> · ε
接受一个ε,可以直接到达S_1:
A->ε·
B->ε·
此时就会发生规约冲突,所以该文法不是SLR(1)的。
4.6.6
(1)
构造增广文法:
0: S’->S$
1: S->SA
2: | A
3: A->a
该文法的SLR分析表如下:
动作 动作 转移 转移
状态/符号 a $ S A
S_0 s3 g1 g2
S_1 s3 Accept g4
S_2 r2 r2
S_3 r3
S_4 r1 r1
该文法的SLR分析表没有冲突,所以该文法是SLR(1)的
(2)对于产生式S->SA|A,SA与A不能都推导出ε,FIRST(SA) = {a},FIRST(A) = {a},相交,所以该文法不是LL(1)的。
4.7.2
构造增广文法:
S’->S$
S->(L)
|a
L->L,S
|S
(1)规范LR项集族
(2)LALR项集族
4.7.5
构造增广文法:
S’->S$
S->Aa
|bAc
|Bc
|bBa
A->d
B->d
(1)LR(1)项集族如图:
没有冲突,故该文法是LR(1)的。
(2)
LALR(1)项集族如图:
在状态5下,会产生规约-规约冲突,故该文法不是LALR(1)的。