南京大学:《编译原理》课程教学资源(PPT课件讲稿)第五章 语法分析——自底向上分析技术(1/2)

编译原理讲义 (第五章:语法分析 自底向上分析技术) 南京大学计算机系 赵建华
编译原理讲义 (第五章:语法分析-- 自底向上分析技术) 南京大学计算机系 赵建华

概论 从输入符号出发,试图把它规约成识别 符号。每一步都寻找特定得某个类型的 短语(一般是简单短语)进行规约 在分析过程中,每次规约的都是最左边 的简单短语(或其它短语) 从语法树的角度,以输入符号为树的末 端结点,试图向根结点方向往上构造语 法树
概论 • 从输入符号出发,试图把它规约成识别 符号。每一步都寻找特定得某个类型的 短语(一般是简单短语)进行规约。 • 在分析过程中,每次规约的都是最左边 的简单短语(或其它短语)。 • 从语法树的角度,以输入符号为树的末 端结点,试图向根结点方向往上构造语 法树

基本问题 如何找出进行直接规约的简单短语? 将找到的简单短语规约到哪个非终结符 号
基本问题 • 如何找出进行直接规约的简单短语? • 将找到的简单短语规约到哪个非终结符 号?

讨论前提 和自顶向下技术同样,不考虑符号的具 体构成方式 文法是压缩了的 识别过程是从左到右,自底向上进行的。 般都采用规范规约:每一步都是对句 柄进行规约(特例除外)
讨论前提 • 和自顶向下技术同样,不考虑符号的具 体构成方式。 • 文法是压缩了的。 • 识别过程是从左到右,自底向上进行的。 一般都采用规范规约:每一步都是对句 柄进行规约(特例除外)

基本方法 基本都采用移入规约方法 使用一个栈来存放规约得到的符号 在分析的过程中,识别程序不断地移入 符号。移入的符号暂时存放在一个栈中 日在已经移入的(和规约得到的)符 号串中包含了一个句柄时,将这个句柄 规约成为相应的非终结符号
基本方法 • 基本都采用移入-规约方法。 • 使用一个栈来存放规约得到的符号。 • 在分析的过程中,识别程序不断地移入 符号。移入的符号暂时存放在一个栈中。 一旦在已经移入的(和规约得到的)符 号串中包含了一个句柄时,将这个句柄 规约成为相应的非终结符号

基本方法(续) 规约中的动作有4类 移入:读入一个符号并把它规约入栈 规约:当栈中的部分形成一个句柄(栈顶的 符号序列)时,对句柄进行规约 接受:当栈中的符号仅有#和识别符号的时 候,输入符号也到达结尾的时候,执行接受 动作 当识别程序觉察出错误的时候,表明输入符 号串不是句子。进行错误处理
基本方法(续) • 规约中的动作有4类 – 移入:读入一个符号并把它规约入栈。 – 规约:当栈中的部分形成一个句柄(栈顶的 符号序列)时,对句柄进行规约。 – 接受:当栈中的符号仅有#和识别符号的时 候,输入符号也到达结尾的时候,执行接受 动作。 – 当识别程序觉察出错误的时候,表明输入符 号串不是句子。进行错误处理

例子 文法G5.1E]:E:=E+E*E(E 输入符号串 已处理符号未处理符号句型句柄规则 *1+1i E∴=i EE i+1 E*+i E*i+i E E*+i1 E∷=1 ERE +++ EE+I EE E:EE E E+ E+i E+i E∷=1 E+E E+EE+EE∷三E+E E
例子 i *i+i i*i+i i E::=i E *i+i E*i+i E* i+i E*i+i E*i +i E*i+i i E::=i E*E +i E*E+i E*E E::=E*E E +i E+i E+i E+i i E::=i E+E E+E E+E E::=E+E E 文法G5.1[E]: E::=E+E|E*E|(E) 输入符号串:i*i+i 已处理符号 未处理符号 句型 句柄 规则

例子的解释 当栈中的符号的栈顶部分还不能形成句柄时, 进行移入操作。 旦发现栈顶部分形成了句柄的时候,对该句 柄进行规约。将句柄出栈,然后将规约得到的 非终结符号压栈。 如果输入是句子,则栈中的符号(从底到上) 和未处理的符号组成句型。 在例子中,发现句柄和规约是人为干预的结果。 所以移入-规约不是实际可运行的技术,而是技 术的模板
例子的解释 • 当栈中的符号的栈顶部分还不能形成句柄时, 进行移入操作。 • 一旦发现栈顶部分形成了句柄的时候,对该句 柄进行规约。将句柄出栈,然后将规约得到的 非终结符号压栈。 • 如果输入是句子,则栈中的符号(从底到上) 和未处理的符号组成句型。 • 在例子中,发现句柄和规约是人为干预的结果。 所以移入-规约不是实际可运行的技术,而是技 术的模板

简单优先分析技术 基本思想: 每次察看句型中相邻的两个符号。通过两个符号 的关系判定出前一个符号是句柄的尾。然后,反 向找出句柄的头。这样我们就找到了一个句柄 S0…S}:1SS+1Sj+2……S:1SS+1…Sn
简单优先分析技术 • 基本思想: – 每次察看句型中相邻的两个符号。通过两个符号 的关系判定出前一个符号是句柄的尾。然后,反 向找出句柄的头。这样我们就找到了一个句柄。 S0…Sj-1SjSj+1Sj+2… …Si-1SiSi+1…Sn U

简单优先分析技术(基本思想续) 我们要通过两个相邻符号SS1之间的关系来找到 句柄: SS1在句柄内:必然有规则U∷=.S;S1 S在句柄内部,但是S1在句柄之后:必然有规 则U:=S1,且存在规范句型.US1 如果S1在句柄内,而S在句柄外,那么必然存 在规范句型..SU.,且U:=S1…
简单优先分析技术(基本思想续) • 我们要通过两个相邻符号SiSi+1之间的关系来找到 句柄: – SiSi+1在句柄内:必然有规则U::=…SiSi+1… – Si在句柄内部,但是Si+1在句柄之后:必然有规 则U::=…Si,且存在规范句型…USi+1…。 – 如果Si+1在句柄内,而Si在句柄外,那么必然存 在规范句型…SiU…,且U::=Si+1…
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第四章 语法分析——自顶向下分析技术(2/2).ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第四章 语法分析——自顶向下分析技术(1/2).ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第三章 词法分析.ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第二章 文法与语言.ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第一章 总论(主讲:赵建华).ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)引言(主讲:赵建华).ppt
- 南京大学:《操作系统》课程教学资源(PPT课件)第九章 操作系统结构.ppt
- 南京大学:《操作系统》课程教学资源(PPT课件)第八章(8.2)实例研究Windows2000.ppt
- 南京大学:《操作系统》课程教学资源(PPT课件)第八章(8.1)网络操作系统.ppt
- 南京大学:《操作系统》课程教学资源(PPT课件)第八章 网络与分布式操作系统.ppt
- 南京大学:《操作系统》课程教学资源(PPT课件)第八章(8.3)分布式计算.ppt
- 南京大学:《操作系统》课程教学资源(PPT课件)第七章 操作系统安全性(7.4)内部访问授权.ppt
- 南京大学:《操作系统》课程教学资源(PPT课件)第七章 操作系统安全性(7.1-7.3).ppt
- 南京大学:《操作系统》课程教学资源(PPT课件)第七章(7.7)实例研究Windows2000.ppt
- 南京大学:《操作系统》课程教学资源(PPT课件)第七章(7.8)实例研究UnixWare 2.ppt
- 南京大学:《操作系统》课程教学资源(PPT课件)第六章(6.3-3)文件管理2.ppt
- 南京大学:《操作系统》课程教学资源(PPT课件)第六章 文件管理.ppt
- 南京大学:《操作系统》课程教学资源(PPT课件)第六章(6.7)实例研究:Windows 2000.ppt
- 南京大学:《操作系统》课程教学资源(PPT课件)第六章(6.6)实例研究:Linux.ppt
- 南京大学:《操作系统》课程教学资源(PPT课件)UNIX操作系统的文件管理讲义.ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第五章 语法分析——自底向上分析技术(2/2).ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第六章 语义分析和目标代码生成.ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第八章 代码优化.ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第九章 出错处理.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第四版,PPT课件讲稿)第一章 概述(谢希仁).ppt
- 电子工业出版社:《计算机网络》课程教学资源(第四版,PPT课件讲稿)第十章 因特网的演进.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第四版,PPT课件讲稿)第二章 物理层.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第四版,PPT课件讲稿)第三章 数据链路层.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第四版,PPT课件讲稿)第四章 局域网.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第四版,PPT课件讲稿)第五章 广域网(谢希仁).ppt
- 电子工业出版社:《计算机网络》课程教学资源(第四版,PPT课件讲稿)第六章 网络互连.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第四版,PPT课件讲稿)第七章 运输层.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第四版,PPT课件讲稿)第八章 应用层.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第四版,PPT课件讲稿)第九章 计算机网络的安全.ppt
- 《网络操作系统》课程教学资源(PPT课件讲稿)第一章 网络操作系统概述.ppt
- 《网络操作系统》课程教学资源(PPT课件讲稿)第三章 进程、作业线程管理(1/2).ppt
- 《网络操作系统》课程教学资源(PPT课件讲稿)第三章 进程、作业线程管理(2/2).ppt
- 《网络操作系统》课程教学资源(PPT课件讲稿)第三章 进程、作业管理.ppt
- 《网络操作系统》课程教学资源(PPT课件讲稿)第二章 windows2000操作系统.ppt
- 《网络操作系统》课程教学资源(PPT课件讲稿)第五章 文件管理.ppt