第1章编译程序基本概念.ppt
文本预览下载声明
* 编译程序的设计原理与实现 如何让计算机 认识、理解和执行 高级程序设计语言? 自我介绍 课件: compiler_principle@ password:2008happy 网易网盘-我的文档 Email: 刘洪娟:liuhongjuan0125@163.com 办公室: 综合楼303 办公电话: 教材与参考书 教材: 胡伦骏等:《编译原理》(第2版),电子工业出版社 。 参考书: 美 Alfred V.Aho, Ravi Sethi Jeffrey, D. Ullman著. 李建中,姜守旭译:《编译原理》,机械工业出版社,2003-1。 美 Kenneth C.Louden著,冯博琴等译:《编译原理及实践》,机械工业出版社,2002-2。 陈火旺等:《程序设计语言编译原理》(第3版), 国防工业出版社,2003-2。 课程的学时分配(40学时) 课程内容 教学 上机 第1章 编译程序基本概念 2 第2章 形式语言基础 4 第3章 自动机基础 4 第4章 词法分析 2 4 第5章 语法分析 6 第6章 中间代码生成 6 4 第7章 符号表组织 2 第8章 优化 2 第9章 目标代码生成 4 合计 32 8 计算机系统 硬件 软件 组成原理 电子技术 体系结构 数字逻辑电路 电路原理 大学物理 计算机网络 接口与通讯技术 通讯概论 安全与保密 程序设计语言 汇编语言 高级语言 编译原理 计算理论 C、C++、JAVA、PB、VB… 系统软件 操作系统 DOS、Windows 、UNIX… 数据库 Access、Sybase 、Oracle… 数据结构 人工智能 应用软件开发 软件工程 算法设计与分析 本课程在计算机系统中的地位 课程的名称、地位和特点 课程名称:编译理论、编译原理、编译结构、编译技术和编译方法等。 课程地位:编译程序(系统)和操作系统一起构成了计算机中两大系统软件;一个是计算机资源的操纵者;而另一个是计算机软件资源的开拓者。 课程特点: 知识性— 形式语言和自动机作为本课程的两大理论基础并具有典型的应用技术; 系统性— 从词法、语法、语义直到目标生成,构成了语言翻译的完整体系; 趣味性— 关于语言处理的一些经典算法和实现技术,可以享受获取软件设计方法的乐趣。 应用性— 编译技术可广泛应用于文本编辑、排版系统、模式识别以及机器翻译等各个领域。 第1章 编译程序基本概念 内容提要 1.1 什么是编译程序? 1.2 编译程序逻辑结构 1.3 编译程序实现机制 1.4 编译程序的生成方法 1.5 编译过程实例分析 Ⅲ. Ⅱ. Ⅰ. 计算机中语言的翻译程序体系 解释程序 图1.1 计算机语言的层次体系 高级语言1 编译程序2 反汇编程序 汇编程序 汇编语言 机器语言 反编译程序 转换程序 高级语言2 编译程序1 1.1 什么是编译程序? 编译程序(compiler)是一种翻译程序,它特指把某种高级程序设计语言翻译成与之等价的具体计算机上的低级程序设计语言。 编译程序的执行过程—两个阶段: 源语言 编译程序 目标语言 数据 结果 运行程序 编译阶段 运行阶段 图1.2 编译程序的执行过程 ※ 什么是解释程序? 解释程序(interpreter)也是一种翻译程序,它将源语言书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。 编译程序与解释程序的主要区别: 数据 结果 解释程序 图1.3 解释程序的执行过程 源语句 (1) 前者有目标程序而后者无目标程序; (2) 前者运行效率高而后者便于人机对话。 1.2 编译程序逻辑结构 词法 分析 语法 分析 语义 分析 目标代码 生成 源 语言 目标语言 错 误 处 理 程 序 符 号 表 管 理 程 序 图1.4 编译程序总体结构 优化 处理 编译程序的五个阶段: ※ 编译程序执行过程 词法 分析 语法 分析 语义 分析 目标代码 生成 源 语言 目标语言 错 误 处 理 程 序 符 号 表 管 理 程 序 图1.5 编译程序执行过程图解 优化 处理 单词串TOKEN 语法树 语义树 优化 语义树 前 端 后 端 ※ 编译程序与外文翻译的类比: 词法分析 -- 识别单词,确认词类; 语法分析 -- 识别短语和句型的 语法属性; 语义分析 -- 确认单词、短语和句型的 语义特征; 代码优
显示全部