编译原理(第3版)习题精选与解析(第三章部分解析)

内容

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ÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值