搜题
问题   更新时间2023/4/3 12:59:00

(10分)已知文法
E→(L)|a
L→L,E|E
1)构造该文法的LR(0)项目DFA;
2)构造其SLR(1)分析表,并判断该文法是否SLR(1)文法。

解: (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)文法。
王老师:19139051760(拨打)