第1讲(引论).ppt

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

第1章 引 论;1.1 什么是编译程序 1.2 编译过程和编译程序的结构 1.3 解释程序和一些软件工具 1.4 程序设计语言范型;课题: 引论 目的要求: 1.了解编译技术的产生与发展; 2.掌握并理解编译技术中的基本概念和术语;? 3.掌握编译程序的结构及编译各阶段的基本功能。 教学重点: 1.编译程序的基本结构; 2.编译过程各阶段的基本功能 教学难点 : 编译阶段的组合 教学课时: 2 教学方法: 多媒体教学 教学内容和步骤 :(如下);1.1 什么是编译程序;源程序; 采用编译方式在计算机上执行用高级语言编写的程序,一般分为两大阶段进行,即编译阶段和运行阶段 :;需预处理的源程序;1.2 编译过程和编译程序的结构;表 格 管 理;从左到右读入源程序的每个字符,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词(也叫单词符号或符号)。 单词:逻辑上紧密相连的一组字符,这些字符具有集体含义。 如:标识符、保留字(关键字或基本字)、算符、界符、数字等。 在识别单词时,单词间的空格被滤掉。;例. 某源程序片断如下: begin var sum,first,count:real; sum := first + count * 10 end.; 主要功能:依据语言的语法规则将单词序列分解成各类语法短语(也叫语法单位),如“程序”、“语句”、“表达式”等。 通过语法分析确定整个输入串是否构成一个语法上正确的程序。 语法分析是编译过程的重要组成部分; 语法分析识别的语法成分通常用递归的方式定义。 如,表达式的递归定义如下: 1.任何标识符是表达式。 2.任何常数(整常数、实常数)是表达式。 3.若表达式1和表达式2都是表达式,那么 表达式1 + 表达式2 表达式1 * 表达式2 (表达式1) 都是表达式。;id1:=id2+id3*10 的语法树;id1:=id2+id3*10 的语法树的另一种形式;依据语言的语义规则对语法结构做静态语义检查。如:类型检查。; 中间代码:一种结构简单、含义明确的记号系统。 特点:容易生成; 容易将它翻译成目标代码。 中间代码的表示形式很多,常用的有四元式、三元式、树形表示、逆波兰表示等,四元式格式如下: (运算符,运算对象1,运算对象2,???果);例:语句 sum := first + count * 10 生成的四元式如下: ( inttoreal 10 - t1 ) ( * id3 t1 t2 ) ( + id2 t2 t3 ) ( := t3 - id1 );( inttoreal 10 - t1 ) ( * id3 t1 t2 ) ( + id2 t2 t3 ) ( := t3 - id1);主要任务:把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。 特点:与硬件系统结构和指令含义有关,涉及到硬件系统功能部件的运用、机器指令的选择、各种数据类型变量的存储空间分配以及寄存器和后缓寄存器的调度等,十分复杂。;( * id3 10.0 t1 ) ( + id2 t1 id1 );表 格 管 理 程 序; 通常把编译过程分为前端和后端: 前端(front end):主要依赖于源语言而与目标机器无关的编译阶段。如:词法分析、语法分析、语义分析、中间代码生成、部分优化工作、与前端有关的出错处理工作和符号表管理工作。 后端(back end):依赖于目标机而一般不依赖于源语言,只与中间代码有关的编译阶段。如:目标代码生成,以及相关出错处理和符号表操作。 遍(趟):对源程序或其等价的中间语言程序从头到尾扫描并完成规定任务的过程。每一遍扫描可完成上述一个阶段或多个阶段的工作。;1.3.1 解释程序;解释程序; 编译程序的出现使得编程员在编写程序时不必考虑与机器有关的细节; 解释程序是将源程序逐句解释运行,因此在程序员以交互方式进行工作时,解释方式比编译方式更加方便实用。 与编译方式相比较,解释方式的速度要慢得多,而且空间开销也比较大。 有些语言既有编译程序又有解释程序,如BASIC、PASCAL、JAVA等。;常用的有: 语言的结构化编辑器 语言程序的调试工具 程序格式化工具 语言程序测试工具 程序理解工具 高级语言之间的转换工具;1.4 程序设计语言范型;本章主要讲述了编译程序的基本构成和重要作用、编 译过程的分阶段进行几个阶段的主要功能: 编译程序是计算机系统的基本组成之一,它的主要作用是把源程序翻译成目标

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档