编译原理简明教程(第2版)[冯秀芳,崔冬华,段富][电子教案]第1章.ppt

编译原理简明教程(第2版)[冯秀芳,崔冬华,段富][电子教案]第1章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理简明教程(第2版)[冯秀芳,崔冬华,段富][电子教案]第1章

《编译原理简明教程》 普通高等教育“十二五”规划计算机教材 ---太原理工大学 ---计算机科学与技术学院 ---冯秀芳、崔冬华、段富等 第一章 引言 第二章 形式语言理论基础 第三章 自动机理论基础 第四章 词法分析 第五章 语法分析—自顶向下分析方法 第六章 语法分析—自底向上分析方法 第七章 语义分析及中间代码的生成 第八章 代码优化 第九章 目标代码的生成 第十章 符号表 第十一章 目标程序运行时的存储组织与分配 第十二章 出错处理 第十三章 编译程序自动生成工具简介 第十四章 面向对象语言的编译 第十五章 并行编译技术 目 录 第一章 引言 学习目标 了解和掌握高级程序设计语言与编译程序的关系 了解和掌握编译程序的功能       了解和掌握编译程序的体系结构       了解和掌握编译程序的工作过程 了解和掌握编译程序的组织方式 了解和掌握编译程序的构造方法 “编译原理”,“编译技术”是计算机专业一门重要的专业课。目的是系统地向学生讲授编译程序的基本结构。阐述编译原理的一般理论和常用的有效方法与技术。 学习本课后,使学生掌握编译理论和方法方面的基本知识,具有设计、实现、分析和维护编译程序等方面的初步能力。 主要内容:形式语言与自动机、词法分析、语法、语义、中间语言代码生成、优化、存储组织与分配、程序的查错与处理等。 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;赋值语句 遵循语法规则,采用上下文无关文法描述。 三、语义分析及中间代码的生成 根据语法结构,分析其含义,并进行初步翻译(生成中间代码),或直接生成目标代码。 例,对常用的一些语言来说,语义分析生成语法成分的含义和用途,以及应进行的运算和操作,而且要进行语义检查,如在说明语句中是否有矛盾的类型说明;在表达式中,对某些运算符而言,是否有类型不匹配的运算对象;在过程调用中,实参和形参是否在个数、次序、种属等方面按相应语

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档