《编译原理》课程教学资源(PPT课件讲稿)第四章 语法分析——自上而下分析

编译原理 第四章 语法分析自上而下分析 编译原理
编译原理 第四章 语法分析—自上而下分析 编译原理

源程序 词法分析器 出 单词符号 表格管理 语法分析器 语法单位错 语义分析与中间代码 生成器 四元式处 优化段 四元式 理 目标代码生成器← 目标代码 编译原理
编译原理 四元式 单词符号 语法单位 四元式 目标代码 词法分析器 语法分析器 语义分析与中间代码 生成器 优化段 源程序 表 格 管 理 出 错 处 理 目标代码生成器

第四章语法分析—自上而下分析 本章主要介绍语法分析的处理 要进行语法分析,必须对语言的语法结构 进行描述 口采用正规式和有限自动机可以描述和识别语言 的单词符号; 口用上下文无关文法来描述语法规则。 编译原理
编译原理 第四章 语法分析—自上而下分析 ◼ 本章主要介绍语法分析的处理 ◼ 要进行语法分析,必须对语言的语法结构 进行描述。 采用正规式和有限自动机可以描述和识别语言 的单词符号; 用上下文无关文法来描述语法规则

上下文无关文法的定义: 一个上下文无关文法G是一个四元式 G=(V,V,S,P),其中 OVr:终结符集合(非空) V:非终结符集合(非空),且VrVn S:文法的开始符号,SeVN P:产生式集合(有限),每个产生式形式为 P→a,PEVn,a∈(VrV)* 口开始符S至少必须在某个产生式的左部出现一次 编译原理
编译原理 ◼上下文无关文法的定义: 一个上下文无关文法G是一个四元式 G=(VT,VN,S,P),其中 VT:终结符集合(非空) VN:非终结符集合(非空),且VT VN= S:文法的开始符号,SVN P:产生式集合(有限),每个产生式形式为 P→, PVN, (VT VN) * 开始符S至少必须在某个产生式的左部出现一次

例,定义只含+,*的算术表达式的文法 G=,其 中,P由下列产生式组成: E→i e→e+e E→E*E E→(E) 编译原理
编译原理 ◼ 例,定义只含+, *的算术表达式的文法 G=, 其 中,P由下列产生式组成: E → i E → E+E E → E*E E → (E)

定义:称aAB直接推出ayB,即 aA→ay 仅当A→y是一个产生式, 且a,B∈(VV 如果a1→a2→…an,则我们称这个序 列是从a到an的一个推导。若存在一个从 a到an的推导,则称a1可以推导出an 例:对文法(1) e→(e)→(e+e)→i+e)→i+i) 编译原理
编译原理 ◼ 定义:称A直接推出,即 A 仅当A → 是一个产生式, 且, (VT VN) * 。 ◼ 如果1 2 n,则我们称这个序 列是从1到n的一个推导。若存在一个从 1到n的推导,则称1可以推导出n 。 ◼ 例:对文法(1) E (E) (E+E) (i+E) (i+i)

通常,用a1→an表示:从a1出发,经过 一步或若干步,可以推出an 用a1→an表示:从a1出发,经过0步或 若步,可以推出an 所以:a→β即a=或a→β 口定义:假定G是一个文法,S是它的开始符号。 如果 S 则a称是一个句型。仅含终结符 号的句型是一个句子。文法G所产生的句子的全 体是一个语言,将它记为L(G)。 (G)={a|s→a,a∈r}
编译原理 ◼ 通常,用 表示:从1出发,经过 一步或若干步,可以推出n。 n + 1 n * 用 1 表示:从1出发,经过0步或 若干步,可以推出n。 = + * 所以 : 即 或 ( ) { | , } * VT L G = S + ❑定义:假定G是一个文法,S 是它的开始符号。 如果 ,则称是一个句型。仅含终结符 号的句型是一个句子。文法G所产生的句子的全 体是一个语言,将它记为 L(G)。 * S

4.1语法分析器的功能 语法分析的任务是分析一个文法的句子 结构。 语法分析器的功能:按照文法的产生式 (语言的语法规则),识别输入符号串是 否为一个句子(合式程序)。 编译原理
编译原理 4.1 语法分析器的功能 ◼ 语法分析的任务是分析一个文法的句子 结构。 ◼ 语法分析器的功能:按照文法的产生式 (语言的语法规则),识别输入符号串是 否为一个句子(合式程序)

单词符号 语法分 源程序词法分 语法分析树编译程序 析器 析器 后续部分 取下一单词 个 符号表 编译原理
编译原理 源程序 单词符号 取下一单词 ... 语法分 词法分 析树 析器 语法分 析器 符号表 编译程序 后续部分

语法分析的方法: 口自下而上分析法(Bottom--up) 基本思想:从输入串开始,逐步进行“归 约”,直到文法的开始符号。即从树末端开 始,构造语法树。所谓归约,是指根据文法的 产生式规则,把产生式的右部替换成左部符号。 算符优先分析法:按照算符的优先关系和结合 性质进行语法分析。适合分析表达式。 LR分析法:规范归约 编译原理
编译原理 ◼语法分析的方法: 自下而上分析法(Bottom-up) ◼基本思想:从输入串开始,逐步进行“归 约”,直到文法的开始符号。即从树末端开 始,构造语法树。所谓归约,是指根据文法的 产生式规则,把产生式的右部替换成左部符号。 ◼算符优先分析法:按照算符的优先关系和结合 性质进行语法分析。适合分析表达式。 ◼ LR分析法:规范归约
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《网络搜索和挖掘技术》课程教学资源(PPT讲稿)Lecture 1:Web Search Overview & Web Crawling.ppt
- 《程序设计语言》课程PPT教学课件(章节大纲).ppt
- 长春大学旅游学院:《计算机网络与网络安全》课程教学资源(PPT课件)第6章 计算机网络与网络安全.ppt
- JavaScript编程基础(JavaScript语法规则).ppt
- 《面向对象程序设计》课程PPT教学课件:第1章 Visual Basic概述(主讲:高慧).ppt
- 西安电子科技大学:Operating-System Structures(PPT讲稿).pptx
- 电子科技大学计算机学院:《现代密码学》课程PPT教学课件(密码学基础)第一章 引言.ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第九章 模数转换器与数模转换器.ppt
- 香港浸会大学:《Data Communications and Networking》课程教学资源(PPT讲稿)Chapter 10 Circuit Switching and Packet Switching.ppt
- 杭州电子科技大学:《计算机、互联网和万维网简介》教学资源(PPT课件)Chapter 01 C++ Programming Basics.ppt
- 《E-commerce 2014》电子商务(PPT讲稿)Chapter 5 E-commerce Security and Payment Systems.ppt
- 《WEB技术开发》教学资源(PPT讲稿)HTML AND CSS.ppt
- 《E-commerce 2014》电子商务(PPT讲稿)Chapter 12 B2B E-commerce:Supply Chain Management and Collaborative Commerce.ppt
- 清华大学出版社:《WEB技术开发》课程教学资源(PPT课件)第1章 WEB开发技术概述.ppt
- 《E-commerce 2014》电子商务(PPT讲稿)Chapter 9 Online Retail and Services.ppt
- 浙江大学:虚拟现实中基于图像的建模和绘制(报告PPT).ppt
- 生物信息数据分析技能培训:计算机基础技能培训(linux基础知识).pptx
- 大型综合程序范例解析(PPT讲稿).ppt
- 结构(9.1 构建手机通讯录 9.2 结构变量 9.3 结构数组 9.4 结构指针).ppt
- 浙江大学计算机系:网络图形技术 Chinagraph‘2000 讨论组.ppt
- 赣南师范大学:《计算机网络技术》课程教学资源(PPT课件讲稿)第十章 Internet概述.ppt
- Java面向对象程序设计:Java的接口(PPT讲稿).pptx
- 动态内存分配器的实现(实验PPT讲稿).pptx
- 东南大学:《数据结构》课程教学资源(PPT课件讲稿)随机算法(主讲:方效林).pptx
- 中国科学技术大学:《现代密码学理论与实践》课程教学资源(PPT课件讲稿)第1章 引言(主讲:苗付友).pptx
- 《算法设计与分析 Design and Analysis of Algorithms》课程PPT课件:Tutorial 10.pptx
- 《C程序设计》课程PPT电子教案:第一章 概述.ppt
- 南京大学:《嵌入式网络物理系统》课程教学资源(PPT讲稿)时光自动机 Timed Automata.ppt
- 《PowerPoint》课程PPT教学课件:第六章 使用PowerPoint创建演示文稿.ppt
- 香港科技大学:Web-log Mining:from Pages to Relations.ppt
- 中国科学技术大学计算机学院:《高级操作系统 Advanced Operating System》课程教学资源(PPT课件)第四章 分布式进程和处理机管理(分布式处理机分配算法).ppt
- 清华大学:ICCV 2015 RIDE:Reversal Invariant Descriptor Enhancement.pptx
- 中国人民大学:Similarity Measures in Deep Web Data Integration.ppt
- 《数据结构》课程教学资源:课程PPT教学课件:绪论(数据结构讨论的范畴、基本概念、算法和算法的量度).ppt
- 《计算机组装与维修》课程教学资源(PPT课件讲稿)第二章 计算机系统维护维修工具使用.ppt
- 东南大学计算机学院:《操作系统概念 OPERATING SYSTEM CONCEPTS》课程教学资源(PPT课件)Operating-System Structures.ppt
- 《数字图像处理 Digital Image Processing》课程教学资源(PPT课件讲稿)第2章 图像分析.ppt
- 《EDA技术》实用教程(PPT讲稿)第5章 QuartusII 应用向导.ppt
- 香港浸会大学:《Data Communications and Networking》课程教学资源(PPT讲稿)Chapter 4 Transmission Media.ppt
- 北京大学:《搜索引擎 Search Engines》课程教学资源(PPT讲稿)Evaluating Search Engines(Search Engines Information Retrieval in Practice).ppt