




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,编 译 原 理,如何让计算机 认识、理解 和 执行 高级程序设计语言 ?,2010年9月,关 于:,课程名称:,编译原理、编译方法、编译技术。,课程地位:,课程特点:,操作系统、编译系统和数据库系统 计算机中三大系统软件., 知识性 形式语言和自动机作为本课程的两大理论基础;二者也具有典型的应用技术; 系统性 从词法、句法、语义直到目标生成,构成了语言翻译的完整体系; 趣味性 关于语言处理的一些经典算法和实现技术,可以享受获取软件设计方法的乐趣。 应用性 编译技术可广泛应用于文本编辑、信息检索、模式识别以及机器翻译等各个领域。,第1章 关于编译程序的基本概念,1.1 什么是编译程序? 1.2 编译程序逻辑结构 1.3 编译程序实现机制 1.4 编程过程实例分析,.,.,., 计算机中语言的层次体系:,解释程序,图 1.1 计算机中语言的层次体系,高级语言1,编译程序2,反汇编程序,汇编程序,汇编语言,机器语言 计算机,反编译程序,转换程序,高级语言2,编译程序1,1.1 什么是 编译程序?,编译程序(compiler)是一种翻译程序, 它特指把某种高级程序设计语言翻译成具 体计算机上的低级程序设计语言。,高级语言的执行过程 -,源语言,编译程序,目标语言,数据,结果,运行程序,编译阶段,运行阶段,图 1.2 高级语言的执行过程,两个阶段:, 什么是 解释程序?,解释程序(interpreter)也是一种翻译程序,将某高 级语翻译成具体计算机上的低级程序设计语言;解释程序 的执行过成如图1.3 所示。,编译程序与解释程序的主要区别:,数据,结果,解释程序,图 1.3 解释程序的执行过程,一条源语句, 前者有目标程序而后者无目标程序;, 前者运行效率高而后者便于人机对话。,1.2 编译程序结构,词法 分析,语法 分析,语义 分析,代码 生成,源 语言,目标语言,错 误 处 理,符 号 表 管 理,图 1.4 编 译 程 序 总 体 结 构 框 图,优化 处理,编译程序总体结构如图1.4所示。,编译程序的五个阶段:,词法 分析,源 语言,语法 分析,语义 分析,优化 处理,代码 生成,目标语言,错 误 处 理,符 号 表 管 理,【例1.1】我们用树叶和颜料能够制作美丽的图画。,翻译过程,. 词法分析:,r( ) p( ) n( ) c( ) n( ) u( ) v( ) a( ) n( ).,. 句法分析:,汉英辞典 与知识库,We can make beautiful pictures with leaves and paint.,. 语义分析:,. 优化处理:,. 目标生成:, 编译程序与机器翻译的类比 :,1.3 编译程序的实现机制,根据语言和环境的不同,编译程序实现时是把 图1.2 中的各阶段划分成若干遍;,遍:编译程序对源程序或等价程序从头至尾扫描的次数。,两遍 的编译程序: 第一遍 :词法分析 、语法分析和语义分析;,第二遍 :目标代码生成和目标代码优化。,每遍中的各阶段的工作是穿插进行的, 例如: 使语法分析器处于核心位置,而把词法分析器作为子 程序;当语法分析需要下一个单词时,就调用词法分析器, 识别一个单词。,1.4 编译过程实例,例:Pascal程序片段 :, 词法分析:识别单词并分类,var a,b:integer; . . . b:=a+2*5;,编译过程如下:, 关键字 (k) - var,integer ; 标识符 (i) - a,b ; 常 数 (c) - 2,5 ; 界 符 (p) - , ; : := +,单词类码,图 1.5 赋值语句 b:=a+2*5 的语法树,例: b := a + 2 * 5 的分析过程如下所示: ( 生成的结果是一棵 语法树 ), := ,b, + , * ,a,2,5,2. 语法分析: 组词成句及语法错误检查,算术表达式的 层次结构,3语义分析:分析各种语法成分的语义特征;,构建标识符的语义辞典-符号表:,构造语句的语义树-中间语言;,数据区,符号表, ( * 2 5 t1 ) ( + a t1 t2 ) ( := t2 _ b ),或,4 优化 :提高目标程序质量的工作 ;, ( * 2 5 t1 ) ( + a t1 t2 ) ( := t2 _ b ),经 常数合并,可分别获得优化后的中间代码如下图所示:, ( + a 10 t2 ) ( := t2 _ b ),5 目标代码生成 : 产生计算机可识别的语言 ;,通常,是把中间语言转换成目标代码,, ( + a 10 t2 ) ( := t2 _ b ),R 为寄存器 三条指令分别为:取、加 和 存 。,如:,目标代码:,编译程序的理论基础,编译程序的构造,是一种语言处理工程,其理论基础和技术基础主要有以下两个方面: 1. 形式语言【第2章】 计算机处理语言,首先应考虑语言的形式化、规范化,使其具有可计算性和可操作性;形式语言诞生于1956年,由chomsky创立。 2. 自动机【第3章】 自动机是一种语言模型,是语言的一种识别工具,它与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-河南-河南机械冷加工一级(高级技师)历年参考题库典型考点含答案解析
- 2024并购法律服务合同
- 2025年事业单位工勤技能-河南-河南信号工-机车信号设备维修三级(高级工)历年参考题库典型考点含答案解析
- 2024版代加工合同代加工合同范本
- 2025年事业单位工勤技能-河北-河北兽医防治员五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江西-江西园林绿化工四级(中级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江苏-江苏汽车驾驶与维修员四级(中级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-江苏-江苏地图绘制员二级(技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西管道工三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-广西-广西客房服务员五级(初级工)历年参考题库典型考点含答案解析
- 2025年中学生法治素养竞赛题库及答案
- 《语文八下第三单元复习课》课件
- 益阳市融资担保有限责任公司招聘考试真题2024
- 2025年山西省公务员考试行测试卷历年真题及答案详解(名校卷)
- 新人教版五年级上册小学数学教学计划+教学进度表
- 痔疮的健康教育课件
- 优甲乐(左甲状腺素钠片)健康教育
- 肝脏弥漫性病变超声诊断与检查规范
- 风力发电税务培训课件
- 2025年长沙市中考物理试卷真题(含答案)
- 建筑工地驻场人员管理办法及流程
评论
0/150
提交评论