内容
3ư17给出接受文法S→(L)|aL→L,S|S的活前缀的一个DFA。答首先将文法进行如下拓广,其中S′是拓广文法的开始符号。S′→SS→(L)|aL→L,S|S接受该文法活前缀的一个DFA的状态转换图见图3ư5,开始状态是I0,所有的状态都是接受状态。图3ư5识别文法活前缀的DFA分析文法活前缀是LR分析的一个重要概念,接受文法活前缀的DFA是构造LR分析表过程中的重要一步。一些同学在构造LR分析表时会画这样的状态转换图,但是却未理解这是接受文法活前缀的DFA。构造SLR(1)分析表、规范LR(1)分析表和LALR(1)分析表时都需要先构造这样的DFA,由于用SLR(1)方法得到的DFA的状态数最少[实际上这个DFA就是用LR(0)方法构造的DFA],因此用SLR(1)方法。3ư18一个文法如下:S→(S)13
S→a请给出该文法中对活前缀(((有效的LR(1)项目。答该文法中对活前缀(((有效的LR(1)项目如下:S→(ưS),)S→ư(S),)S→ưa,)分析构造识别该文法活前缀的DFA时,实际上只要画出三个LR(1)项目集就可以看出结果了,这三个项目集见图3ư6。图3ư6识别文法活前缀的三个项目集3ư19接受文法S→Aa|bAc|dc|bdaA→d活前缀的DFA见图3ư7。请根据这个DFÿ