第5章 自下而上的语法分析(Tsu版电子教案).docx
《第5章 自下而上的语法分析(Tsu版电子教案).docx》由会员分享,可在线阅读,更多相关《第5章 自下而上的语法分析(Tsu版电子教案).docx(8页珍藏版)》请在三一办公上搜索。
1、第8页 共8页第5章 自下而上的语法分析(Tsu版电子教案)第5章 自下而上的语法分析从叶结点出发,步步向上归约。若能归约到根结点,说明输入串是文法的一个句子,否则输入串存在语法错误。5.1 自下而上的语法分析概述概述实质上是一种移进归约法,设置一个栈,将输入串符号逐个移进栈内,一旦发现栈顶形成某个产生式的候选式时,立即将栈顶这一部分符号替换(归约)成该产生式的左部符号。例给定文法:SaAcBeAb | AbBd 和输入串abbcde,其移进归约过程如下所示:edBBbccccbAAAAAAAaaaaaaaaaS 移 移 归 移 归 移 移 归 移 归 因最终归约到根结点,输入串abbcde是
2、文法的一个句子。问题从第步到第步有二种选择,可将b归约成A,栈顶成aAA;也可将Ab归成A,栈顶成aA,显然后者是正确的,故需精确定义可归约串。句柄和规范归约短语直接短语(简单短语)句柄继续问题的讨论。句型aAbcde中存在三个短语,它们是Ab、d和aAbcde,其中Ab和d是直接短语,句柄是Ab。不能因为存在规则Ab,就断定b是这个句型的一个短语,b不是句柄,甚至连短语都不是。规范归约(最左归约)规范句型规范推导图解法5.2 LR分析法的基本原理前缀活前缀LR分析法的基本思想LR(0)项目(简称项目)在产生式右部的某个位置添加一个园点“.”。特例,A的项目为A.。例文法0. SE1. EaA
3、2. AcA3. Ad4. Ed这个文法的项目有S.ESE.E.aAEa.AEaA.A.cAAc.AAcA.A.dAd.E.dEd.构造识别活前缀的NFA将每个项目视为识别活前缀NFA的一个状态。规定状态S.S为NFA的唯一初态,状态SS.为NFA的唯一接受态(S为原文法开始符号,S为拓广文法开始符号)。因在每个状态都可识别出一个活前缀(初态可识别出活前缀),故NFA的每个状态都是终态,终态又称为活前缀识别态。如果状态i和状态j源自于同一产生式,而且状态i和状态j的园点位置相差一个文法符号,例状态i为i:XX1Xi-1 .XiXi+1Xn状态j为j:XX1Xi-1Xi .Xi+1Xn那么状态i
4、和j之间存在一条弧,标记为Xi,表示在状态i读入Xi进入状态j。若状态i园点之后的符号为非终结符(例i:X .A),那么从状态i画一条弧到所有k:A.状态。表示只有看到了从A推出的全部符号,状态i: X .A才可经A弧进入状态j: XA.。接上例,构造识别文法活前缀的NFA,如下所示: A.cAAc.A AAcA. c A.d dAd. E.aA aEa.A AEaA. S.E ESE. E.d dEd.其中称为初态(含有S.E的项目),状态、和称为句柄识别态(含有形如A.的项目),其中又称为接受态(含有SE.的项目)。构造识别活前缀的DFA 5:7: cAc.A AAcA.A.cA A.d
5、d6:Ad.2: cEa.A d4:A.cA AEaA.A.d0: aS.E 1:E.aAESE.E.dd3:Ed.其中0是初态,1为接受态,3、4、6和7是句柄识别态。项目分类LR(0)项目集规范族(简称项目集规范族)活前缀识别工作原理5.3项目集规范族的构造文法拓广项目集I 的闭包(CLOSURE(I))状态转换函数(GO(I,X))项目集规范族构造算法5.5 LR(0)分析表的构造预备工作引入产生式SS,将文法拓广成G。对G的产生式进行编号。构造文法G的状态转换函数GO(I,X)和项目集规范族C。构造法设项目集规范族C=I0、I1、In,将I0、I1、In视为分析表状态0、1、n。LR(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 自下而上的语法分析Tsu版电子教案 自下而上 语法分析 Tsu 电子 教案
链接地址:https://www.31ppt.com/p-2049694.html