自下而上的语法分析课件.ppt
《自下而上的语法分析课件.ppt》由会员分享,可在线阅读,更多相关《自下而上的语法分析课件.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、自下而上的语法分析第1页,此课件共58页哦5.1自下而上的语法分析概述n从叶结点出发,步步向上归约。若能归约到根结点,说明输入串是文法的一个句子,否则输入串存在语法错误。n比较:从文法的开始符号出发进行推导,最终推出确定的输入串(由单词种别构成的源程序)。第2页,此课件共58页哦5.1自下而上的语法分析概述n概述n实质上是一种移进归约法,设置一个栈,将输入串符号逐个移进栈内,一旦发现栈顶形成某个产生式的候选式时,立即将栈顶这一部分符号替换(归约)成该产生式的左部符号。第3页,此课件共58页哦5.1自下而上的语法分析概述n例给定文法:nSaAcBenAb|AbnBd n输入串abbcde 第4页
2、,此课件共58页哦5.1自下而上的语法分析概述n移进归约过程如下所示 第5页,此课件共58页哦5.1自下而上的语法分析概述n因最终归约到根结点,输入串abbcde是文法的一个句子。第6页,此课件共58页哦5.1自下而上的语法分析概述n问题n从第步到第步有二种选择,可将b归约成A,栈顶成aAA;也可将Ab归成A,栈顶成aA,显然后者是正确的,故需精确定义可归约串。第7页,此课件共58页哦5.1自下而上的语法分析概述n句柄和规范归约n短语n直接短语(简单短语)第8页,此课件共58页哦5.1自下而上的语法分析概述n句柄n句型aAbcde中存在三个短语,它们是Ab、d和aAbcde,其中Ab和d是直接
3、短语,句柄是Ab。不能因为存在规则Ab,就断定b是这个句型的一个短语,b不是句柄,甚至连短语都不是。第9页,此课件共58页哦5.1自下而上的语法分析概述n规范归约(最左归约)n规范句型n规范推导n图解法第10页,此课件共58页哦5.2算符优先文法算符优先文法n1.算符文法n比较简单,适合手工构造,特别适合算术表达式的语法分析n2.算符优先分析法的优先关系nP106第11页,此课件共58页哦5.2算符优先文法算符优先文法n3.算符优先文法的定义P107第12页,此课件共58页哦5.2算符优先文法算符优先文法n4.FIRSTVT集合定义P109nLASTVT集合定义P109第13页,此课件共58页
4、哦5.2算符优先文法算符优先文法n构造集合的规则第14页,此课件共58页哦5.2算符优先文法算符优先文法n5.构造算符优先文法分析表第15页,此课件共58页哦5.3 LR分析法的基本原理分析法的基本原理nLR分析法适用范围广泛,适合自动生成,目前大多数编译程序的语法分析器都采用这种分析法第16页,此课件共58页哦5.3 LR分析法的基本原理分析法的基本原理n前缀前缀字的任意首部字的任意首部n活活前前缀缀规规范范句句型型的的一一个个前前缀缀,不不包包含含句句柄柄后后的的任任何何符符号号。活活就就是是其其右右部部添添加加一一些些终终结结符符后后,就就构构成成一一个规范句型个规范句型nLR分析法的基
5、本思想分析法的基本思想n把把每每个个句句柄柄的的识识别别(产产生生式式右右部部符符号号串串)过过程程划划分分为为若若干干状状态态,每每个个状状态态只只识识别别句句柄柄的的一一个个符符号号,若干个符号就可识别句柄左端的一部分符号。若干个符号就可识别句柄左端的一部分符号。n识识别别了了句句柄柄这这一一部部分分就就相相当当于于识识别别了了当当前前规规范范句句型型的左起部分,既规范句型的活前缀。的左起部分,既规范句型的活前缀。第17页,此课件共58页哦5.3 LR分析法的基本原理分析法的基本原理n对对于于文文法法G,可可以以构构造造一一个个有有限限自自动动机机DFA,用用它它去去识识别别给给定定文文法
6、法的的所所有有规规范范句句型型的的活活前前缀缀,然然后后把把这这个个DFA转转换换成成LR分析表。分析表。n因因此此,首首先先构构造造一一个个识识别别文文法法G所所有有活活前前缀缀的的NFA,这这个个NFA的的每每个个状状态态是是下下面面定义的一个定义的一个“项目项目”第18页,此课件共58页哦5.3 LR分析法的基本原理分析法的基本原理nLR(0)项目(简称项目)项目(简称项目)n文法文法G的的LR(0)项目定义为:)项目定义为:n在在文文法法G每每个个产产生生式式右右部部的的某某个个位位置置添添加加一一个个园园点点“.”。如如A XYZ包包含含四四个个项项目目nA.XYZA X.YZnA
7、XY.ZA XYZ.n特例,特例,A的项目为的项目为A.。第19页,此课件共58页哦5.3 LR分析法的基本原理分析法的基本原理n例文法n0.SEn1.EaAn2.AcAn3.Adn4.Ed第20页,此课件共58页哦5.3 LR分析法的基本原理分析法的基本原理n这个文法的项目有这个文法的项目有n1S.E2SE.n3E.aA4Ea.A 5EaA.n6A.cA7Ac.A 8AcA.n9A.d 10Ad.n11E.d12Ed.第21页,此课件共58页哦5.3 LR分析法的基本原理分析法的基本原理n构造识别活前缀的构造识别活前缀的NFAn将将每每个个项项目目视视为为识识别别活活前前缀缀NFA的的一一个
8、状态。个状态。n规规定定状状态态S.S为为NFA的的唯唯一一初初态态,状状态态SS.为为NFA的的唯唯一一接接受受态态(S为为原原文文法开始符号,法开始符号,S为拓广文法开始符号)。为拓广文法开始符号)。第22页,此课件共58页哦5.3 LR分析法的基本原理分析法的基本原理n因因在在每每个个状状态态都都可可识识别别出出一一个个活活前前缀缀(初初态态可可识识别别出出活活前前缀缀),故故NFA的的每每个个状状态态都都是是终终态态,终终态又称为活前缀识别态。态又称为活前缀识别态。n如如果果状状态态i和和状状态态j源源自自于于同同一一产产生生式式,而而且且状状态态i和状态和状态j的园点位置相差一个文法
9、符号,例的园点位置相差一个文法符号,例状态状态i为为ni:XX1Xi-1.XiXi+1Xn状态状态j为为nj:XX1Xi-1Xi.Xi+1Xnn那那么么状状态态i和和j之之间间存存在在一一条条弧弧,标标记记为为Xi,表表示示在在状态状态i读入读入Xi进入状态进入状态j。第23页,此课件共58页哦5.3 LR分析法的基本原理分析法的基本原理n若若状状态态i园园点点之之后后的的符符号号为为非非终终结结符符(例例i:X.A),那那么么从从状状态态i画画一一条条弧弧到到所所有有k:A.状状态态,表表示示只只有有看看到到了了从从A推出的全部符号推出的全部符号:状态状态i:X.A才可经才可经A弧进入弧进入
10、状态状态j:XA.。第24页,此课件共58页哦5.3 LR分析法的基本原理分析法的基本原理n接接上上例例,构构造造识识别别文文法法活活前前缀缀的的NFA,如下所示:如下所示:n其中其中1称为初态(含有称为初态(含有S.E的项目),的项目),状态状态2、8、10、5和和12称为句柄识别态称为句柄识别态(含有形如(含有形如A.的项目的项目),其中),其中2又称又称为接受态(含有为接受态(含有SE.的项目)。的项目)。第25页,此课件共58页哦5.3 LR分析法的基本原理分析法的基本原理第26页,此课件共58页哦5.3 LR分析法的基本原理分析法的基本原理n构造识别活前缀的构造识别活前缀的DFA n
11、其其中中0是是初初态态,1为为接接受受态态,3、4、6和和7是句柄识别态。是句柄识别态。第27页,此课件共58页哦5.3 LR分析法的基本原理分析法的基本原理第28页,此课件共58页哦5.3 LR分析法的基本原理分析法的基本原理n项目分类项目分类n凡是圆点在最右端的项目称为凡是圆点在最右端的项目称为归约项目归约项目,A.n对文法开始符号对文法开始符号S的归约项目称为的归约项目称为接受项目接受项目n形如形如A.a的项目称为的项目称为移进项目移进项目,a为终结符为终结符n形如形如A.B的项目称为的项目称为待约项目待约项目,B为非终结符为非终结符第29页,此课件共58页哦5.3 LR分析法的基本原理
12、分析法的基本原理nLR(0)项项目目集集规规范范族族(简简称称项项目目集集规规范范族)族)n识识别别一一个个文文法法活活前前缀缀的的DFA的的项项目目集集(状态)的全体(状态)的全体n活前缀识别工作原理活前缀识别工作原理 输入串输入串acd第30页,此课件共58页哦5.4项目集规范族的构造项目集规范族的构造n文法拓广文法拓广引进产生式引进产生式SSn项目集项目集I 的闭包(的闭包(CLOSURE(I))P132n状态转换函数(状态转换函数(GO(I,X))P132n项目集规范族构造算法项目集规范族构造算法nC=I0;/项目集的集合项目集的集合nIf(GO(Ii,XK)&GO(Ii,XK)!C)
13、n j+;Ij=GO(Ii,XK);C=C Ij;第31页,此课件共58页哦5.4项目集规范族的构造项目集规范族的构造第32页,此课件共58页哦5.5 LR(0)分析表的构造分析表的构造n预备工作预备工作n引入产生式引入产生式SS,将文法拓广成,将文法拓广成G。n对对G的产生式进行编号。的产生式进行编号。n构构造造文文法法G的的状状态态转转换换函函数数GO(I,X)和和项目集规范族项目集规范族C。第33页,此课件共58页哦5.5 LR(0)分析表的构造分析表的构造n构造法构造法n设设项项目目集集规规范范族族C=I0、I1、In,将将I0、I1、In视视为为分分析析表表状状态态0、1、n。LR(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自下而上 语法分析 课件
限制150内