第五章 LALR(1)方法.ppt





《第五章 LALR(1)方法.ppt》由会员分享,可在线阅读,更多相关《第五章 LALR(1)方法.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、LR(1)分析存在的问题分析存在的问题l为消除冲突,引入太多的状态为消除冲突,引入太多的状态;l有些状态含有完全相同的有些状态含有完全相同的LR(0)项目部分,只有展望项目部分,只有展望符部分是不同的符部分是不同的;lLR(1)项目的心项目的心:如果:如果(A,ss)是一个是一个LR(1)项目,则其中的项目,则其中的LR(0)项目部分称为它的心项目部分称为它的心;lLR(1)自动机自动机状态的心状态的心:一个状态所含有的所有:一个状态所含有的所有LR(1)项目的心项目的心;l同心状态同心状态:如果两个:如果两个LR(1)状态具有相同的心,则称状态具有相同的心,则称这两个状态为同心状态。这两个状
2、态为同心状态。LALR(1)分析分析l主要思想主要思想合并文法合并文法G的的LR(1)自动机中的同心状态,得到自动机中的同心状态,得到的自动机称为的自动机称为LALR(1)自动机;自动机;若这个得到的若这个得到的LALR(1)自动机没有冲突,则称文自动机没有冲突,则称文法法G是是LALR(1)文法。文法。lLALR(1)分析过程分析过程构造构造LALR(1)自动机自动机 构造构造LALR(1)分析表分析表(同同LR(1)分析表构造方法分析表构造方法)LALR(1)驱动程序驱动程序=LR(1)驱动程序驱动程序如何构造如何构造LALR(1)自动机自动机l第一种途径:第一种途径:首先构造首先构造LR
3、(1)自动机自动机然后合并其中的同心状态然后合并其中的同心状态该方法简单,但不现实该方法简单,但不现实(not practical)!Step1:构造构造LR(1)自动机自动机VT=a,b,=VN=S,L,RS=SP:(1)S L=R (2)S R (3)L aR (4)L b (5)R L0Z S,#S L=R,#S R,#R3S R,#R L,#1ZS,#Sb4L b,=,#L5S L=R,#R R L L,#L aR,=,#L b,=,#=a a6S L=R,#R L,#L aR,#L b,#12L aR,=,#R L,=,#L aR,=,#L b,=,#b b4 4L L14R L,=
4、,#a a13L aR,=,#R7S L=R,#R8R L,#L11L b,#b b9L aR,#R L,#L aR,#L b,#aL L8 8R10L aR,#b ba aStep2:合并同心状态合并同心状态l状态状态4和和11同心同心 l状态状态8和和14同心同心l状态状态10和和13同心同心l状态状态9和和12同心同心0Z S,#S L=R,#S R,#R3S R,#R L,#1ZS,#Sb4L b,=,#L5S L=R,#R R L L,#L aR,=,#L b,=,#=a a6S L=R,#R L,#L aR,#L b,#12L aR,=,#R L,=,#L aR,=,#L b,=,
5、#b b4 4L L14R L,=,#a a13L aR,=,#R7S L=R,#R8R L,#L11L b,#b b9L aR,#R L,#L aR,#L b,#aL L8 8R10L aR,#b ba a4 4141412121313 LR(1)分析表Action 表表Goto 表表ab=#SLR0S12S41531Accept 3R24R4R45S6R56S9S11877R1 LR(1)分析表(接上页.)Action 表表Goto 表表ab=#SLR8R59S9S111010R311R412S12S4141313R3R314R4R415LALR(1)分析表Action 表表Goto 表表
6、ab=#SLR0S12S41531Accept 3R24R4R45S6R56S12S41477R112S12S4141313R3R314R4R4LALR(1)自动机自动机l对于给定的上下文无关文法对于给定的上下文无关文法 GG的的LALR(1)项目跟项目跟LR(1)项目项目形式相同形式相同;LALR(1)自动机中每个状态自动机中每个状态S中各个项目的展中各个项目的展望符集是把望符集是把LR(1)自动机中所有和自动机中所有和S同心的状态同心的状态的对应项目的展望符集合合并后得到的的对应项目的展望符集合合并后得到的;如果每个如果每个LALR(1)的状态都用该状态的心的状态都用该状态的心(LR(0)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五章 LALR1方法 第五 LALR 方法

限制150内