
答案
解:
(1)为这个文法构造LR(0)项目的DFA.
其扩充文法为:
E’→E
E→(L)|a
L→L,E|E
改文法LR(0)项的DFA是:
(2)构造SLR(1)分析表
First(E’)={ (,a ); Follow(E’)={ $ };
First(E)={ (,a ); Follow(E)={ $,),’,’ };
First(L)={ (,a ); Follow(L)={ ),’,’ };
则SLR(1)分析表如下:
状态 输入 GOTO
( ) , a $ E L
0 S2 S4 1
1 接受
2 S2 S4 8 3
3 S5 S6
4 R(E→a) R(E→a) R(E→a)
5 R(E→(L)) R(E→(L)) R(E→(L))
6 S2 S4 7
7 R(L→L,E) R(L→L,E)
8 R(L→E) R(L→E)
由于每个表项最多只有一个动作,所以该文法是SLR(1)文法。