当前位置:网志问答 > 篮球 > 对文法:    S→AaAb|BbBa    A→ε  ...
已有回答

对文法:    S→AaAb|BbBa    A→ε  ...

网志问答在浏览6次收到腾讯网的热心用户jhbcdjbc关于绿箭侠对文法:    S→AaAb|BbBa    A→ε  ...的提问,关于这些疑难问题,进行了深入的分析。得到了网志问答众多网友的支持,得到了如下解决方案,摘录了部分优质回答,如对此有任何好的意见,欢迎大家进行探讨共同解决!

详细问题描述及疑问:期待您的答案,你就是当代的活雷锋,太感谢了 !

本页链接:http://www.oxrm.com/question/1662433598218771

AD728-90
满意答案

第1个优秀答案:

首先对文法进行拓广,得到如下的拓广文法:<0>S→S<1>S→AaAb<2>S→BbBa<3>A→ε<4>B→ε构造的LR(0)项目集规范族(自动机)如图5—16所示。构造出来的LR(0)分析表如表5-22所示。表5-22构造出来的L据R(0)分析表状态ACTION(动作)GOTO(转移)ab#SAB0r3/r4r3突头己王协级含剧/r4r3/r41231acc2s43s54r3r3r365r友格钢连道责却虽推4r4r486s77r1r1r18s99r2r2r2构造出的LR(0)分析表存在归约-归约冲突(0号状态行),所以给定文法不是LR(0)文法。$构造出的SLR(1)分析表如表5-23所示:表5-23构造出的SLR(1)分析表状态ACT|ON(动作)GOTO(转移)ab#SAB0r3/r4r3/r41231aCC八娘原举搞宜2s43s54r3r365r4r486s77r18s99续r2由于SLR(1)分析表存在多重入口,因此给定文法不是SLR(1)文法。$构造LR(1)项目议施宗集规范族,如图5-17所示。LR(1)分析表如表5—24所示:表5-24LR(1)分析表状态ACTION(动婷死作)GOTO(转移)ab#SAB0r3r41231acc2s眼免艺述市药43s74r355京演s66r17r488s99r2构造出的LR(1)陆买论烟动分析表不含多重入口,因此给定文法是LR(1)文法。$由于上述LR(1)项目集合中不含同心项目集,因此,上述的LR(1)分析表也是LALR起调宪艺胶活(1)分析表。给定文法是LALR(1官绍示团清某州)文法。$下面使用前面得到的LR(1)分析表,对句子ab进行LR语法分析。①开始时,经过初始化,堆封约白村发左具永栈和缓冲区具有如下所示的情形:②此时栈顶状态为月有密0,输入符号为a,查找分析耐出表,得到r3,即用A→ε进行归约,将栈顸的ε弹出(由于是空串,所以什么也不弹)后栈顶的状态为0,归约出的文法非终结符为A,查找0行A列,得到2,于是将<2,A>压栈,形成如下的情形:③此时栈顶状态为2,输入符或爱号为a,查找2行a列动作子表,得到s4,即移进转入4号状态,形成:④此时栈顶状态为4,输入符号为b,查找分析表得到r3,即用A→ε进行归约。归约后,得到帮历议哥训标如下的情况:⑤此时栈顶状态为5,输入符号为b,查找分析表,得到s6,即移进转入6号状态:⑥此时栈顶状态为6,输入符号为#,查找分析表,得到r1,即用S→AaAb进行归约。归约时,先弹出栈顶的句柄(长度为4,退栈4次),得到:⑦然后查找分析表0行s列,得到1,于是,将<1,S>压栈,形成:此时栈项状态为1,输入符号为“#”,查找分析表,得到acc,即接受,分析成功地结束,说明待分析终结符号串ab是给定文法的合法句子。


希望以上的回答,能够帮助你。更多关于对文法:    S→AaAb|BbBa    A→ε  ...的知识及相关经验请访问经验知识https://www.5058.cn/,能够帮助你解决更多的问题,学习更多的经验。
AD160-600