编译原理自底向上的语法分析.ppt
《编译原理自底向上的语法分析.ppt》由会员分享,可在线阅读,更多相关《编译原理自底向上的语法分析.ppt(20页珍藏版)》请在三一办公上搜索。
1、语法分析部分知识关系图,开发语法分析程序,语法定义,基于,上下文无关文法,使用,实现,自顶向下,自底向上,第五章 自底向上的语法分析,5.1 自底向上的语法分析方法概述5.2 LR(0)分析的有限自动机5.3 LR(0)分析5.4 SLR(1)分析5.5 LR(1)分析5.6 LALR(1)分析5.7 LALR(1)语法分析器的自动生成器(YACC),5.1 自底向上语法分析概述,自顶向下语法分析回顾自底向上语法分析的例子自底向上语法分析的主要思想自底向上语法分析的关键问题一些相关概念,自顶向下分析例,P:(1)Z aBeA(2)A Bc(3)B d(4)B bB(5)B,a b e c,自顶
2、向下分析过程是从文法开始符出发,为所给输入串构造最左推导的过程。,句型,输入,动作,Z,abec,推导(1),abec,aBeA,匹配(a),bec,BeA,推导(4),bec,bBeA,匹配(b),ec,BeA,推导(5),ec,eA,匹配(e),c,A,推导(2),c,Bc,推导(5),匹配(c),c,c,成功,自底向上语法分析的例子,P:Z ABb(2)A a(3)A b(4)B b(5)B c(6)B bB,a b c b,输入,符号栈,动作,abcb,移入,a,bcb,归约(2),A,bcb,移入,Ab,cb,移入,Abc,b,归约(5),AbB,b,归约(6),AB,b,移入,归约
3、(1),ABb,Z,成功,自底向上分析过程是从所给输入串出发,对其进行最左归约的过程。,自底向上归约的过程也是自底向上构建语法树的过程,a b c b,B,B,Z,归约过程,Z rm ABb rm AbBb rm Abcb rm abcb,A,abcb-Abcb-AbBb-ABb-Z,自底向上分析中归约过 程的逆过程就是该句子的最右推导;,5.1 自底向上语法分析方法概述,主要思想:从输入串出发;尽可能地找到可归约子串并将其归约成一个非终极符;直到归约成文法的开始符或发现语法错误;分析动作:移入(shift),归约(reduce)包含以下方法:LR 类的方法;简单优先法;算符优先法关键问题:什
4、么时候进行归约,按照哪条产生式进行归约;,一些相关概念,短语一个句型形如,如果存在一个句型A,而且 A+,则称为句型的短语;例如句型AbBb,则bB,AbBb是它的短语,因为存在句型ABb,ABb AbBb,=A,=b;存在句型Z,Z ABb AbBb,=,=;简单短语一个句型形如,如果存在一个句型A,而且 A,则称为句型的简单短语;例如句型AbBb,bB是它的简单短语,AbBb不是它的简单短语,(1)Z ABb(2)A a(3)A b(4)B d(5)B c(6)B bB,一些相关概念,句柄:一个句型的简单短语可能有多个,称最左简单短语为句柄(handler);例如:句型abBb,简单短语有
5、两个:a,bBZ ABb aBb abBb最左简单短语a是句柄句柄的唯一性:如果一个CFG无二义性,则它的任意一个句型都有唯一的句柄;,短语、简单短语、句柄的例子,P:(1)E T(2)E E+T(3)T F(4)T T*F(5)F(E)(6)F i(7)F n,句型:T+(E+T)*i,简单短语:T,E+T,i,句柄:T,通过为所给句型建立语法分析树,可以很容易地识别出该句型的所有短语、简单短语和句柄。,句型的一个推导:(该句型没有最右推导)E E+T E+T*FE+T*i E+F*i E+(E)*i E+(E+T)*i T+(E+T)*i,短语:T+(E+T)*i,T,E+T,i,(E+T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 向上 语法分析
链接地址:https://www.31ppt.com/p-6003431.html