《编译原理简明教程》全套PPT课件.pptxVIP

  1. 1、本文档共617页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《编译原理简明教程》普通高等教育“十二五”规划计算机教材---太原理工大学---计算机科学与技术学院---冯秀芳、崔冬华、段富等目 录第一章 引言第2章.ppt第二章 形式语言理论基础第3章.ppt第三章 自动机理论基础第4章.ppt第四章 词法分析第5章.ppt第五章 语法分析第5章.ppt—第5章.ppt自顶向下分析方法第6章.ppt第六章 语法分析第6章.ppt—第6章.ppt自底向上分析方法第7章.ppt第七章 语义分析及中间代码的生成第8章.ppt第八章 代码优化第10章.ppt第九章 目标代码的生成第10章.ppt第十章 符号表1.doc第十一章 目标程序运行时的存储组织与分配1.doc第十二章 出错处理1.doc第十三章 编译程序自动生成工具简介1.doc第十四章 面向对象语言的编译1.doc第十五章 并行编译技术第一章 引言 学习目标了解和掌握高级程序设计语言与编译程序的关系了解和掌握编译程序的功能了解和掌握编译程序的体系结构了解和掌握编译程序的工作过程了解和掌握编译程序的组织方式了解和掌握编译程序的构造方法 “编译原理”,“编译技术”是计算机专业一门重要的专业课。目的是系统地向学生讲授编译程序的基本结构。阐述编译原理的一般理论和常用的有效方法与技术。 学习本课后,使学生掌握编译理论和方法方面的基本知识,具有设计、实现、分析和维护编译程序等方面的初步能力。 主要内容:形式语言与自动机、词法分析、语法、语义、中间语言代码生成、优化、存储组织与分配、程序的查错与处理等。目 录1.1 编译程序、汇编程序、解释程序1.2 编译过程概述1.3 编译程序的结构框图1.4 编译程序的开发1.1程序的翻译及运行 计算机系统: 硬件 软件:系统软件:OS、编译系统、诊断 系统 应用软件等 程序设计语言: 机器 汇编 高级 翻译程序:指能把A语言程序翻译成与之等价的B语言程 序的程序。 A语言----源程序B语言----目标语言1.1.1 什么是编译程序 编译程序:A——高级语言B——机器语言1.1.2 汇编程序??A语言——汇编语言(符号表示) B语言——机器语言 1.1.3? 解释程序不产生目标程序,逐句翻译。优点: l 提供一种直接的交互调试能力,在执行用 户程序时可以修改用户程序。l 对新的类型可动态地修改,如符号的意义。 l?提高良好的诊断信息l?不依赖于目标机,移植性较好。缺点:开销大、速度慢 如APL与编译程序相比 1:100 BASIC 1:10事实上,纯粹的解释程序并不多见,通常做某种程序的结合。 1.2 编译过程概述翻译外文资料编译源程序阅读原文、识别单词扫描源程序、词法分析分析句子的语法结构语法分析分析根据句子含义初步分析语义分析修辞加工优化 综合写出译文生成目标代码编译程序一般分五个部分一、词法分析 输入源程序,对源程序构成的字符串进行扫描和分析,识别出一个个的单词,如保留字、标识符、常数、特殊符号等。如保留字(if、for、while等)、标识符、常数、特殊符号(标点符号、左右括号、运算符等)。例如,对于C语言的循环语句:for ( i=1;i= 100;i++) sum=sum+1;词法分析:遵循词法规则,描述词法规则正规式和有限 自动机 二、语法分析 根据语言语法规则,把词法分析后的单词合成各类语法单位(语法范畴),如“短语”,“句子”,“程序段”,“程序”。 例:Z = X + 2*Y;赋值语句 遵循语法规则,采用上下文无关文法描述。三、语义分析及中间代码的生成 根据语法结构,分析其含义,并进行初步翻译(生成中间代码),或直接生成目标代码。 例,对常用的一些语言来说,语义分析生成语法成分的含义和用途,以及应进行的运算和操作,而且要进行语义检查,如在说明语句中是否有矛盾的类型说明;在表达式中,对某些运算符而言,是否有类型不匹配的运算对象;在过程调用中,实参和形参是否在个数、次序、种属等方面按相应语言的规定进行对应等等。 “中间代码”是一种含义明确、便于处理的记号系统。 如:三元式、四元式、逆波兰式。 例:四元式(运算符,第一运算量,第二运算量,结果) z = (x + 3)*y/w;(+, x, 3, T1) (*, T1, y, T2 ) (/, T2 , w,z)四、代码优化 优化的任务在于对前阶段产生的中间代码进行加工变换,以期在最后阶段产生出更为高效(节省时间和空间)的目标代码。优化的主要方面有:公共子表达式的提取、循环优化、删除无用代码等。有时,为了便于“并行运算”,还可以对代码进行并行优化处理。优化所依循的原则是程序的等价变换规则。 优化涉及的范围很广。 与机器有关的 从与具体计算机的关系分 与机器无关的 局部

文档评论(0)

粱州牧 + 关注
实名认证
文档贡献者

资料收集自互联网,若有侵权请联系删除,谢谢~

版权声明书
用户编号:8036120077000004

1亿VIP精品文档

相关文档