第1章编译的基本概念精选PPT.ppt

上传人:石*** 文档编号:48767771 上传时间:2022-10-07 格式:PPT 页数:48 大小:2.68MB
返回 下载 相关 举报
第1章编译的基本概念精选PPT.ppt_第1页
第1页 / 共48页
第1章编译的基本概念精选PPT.ppt_第2页
第2页 / 共48页
点击查看更多>>
资源描述

《第1章编译的基本概念精选PPT.ppt》由会员分享,可在线阅读,更多相关《第1章编译的基本概念精选PPT.ppt(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第1章编译的基本概章编译的基本概念念1第1页,此课件共48页哦为什么要学习编译原理为什么要学习编译原理l程序设计语言是计算机软件专业的重要核心。通过学习编译原程序设计语言是计算机软件专业的重要核心。通过学习编译原理可以更好地理解程序语言的内部机制理可以更好地理解程序语言的内部机制,从而更好地理解和运从而更好地理解和运用程序设计语言。用程序设计语言。l编译程序构造的原理和技术一直属于计算机科学必备的专业基编译程序构造的原理和技术一直属于计算机科学必备的专业基础知识。础知识。必修主干课程必修主干课程(操作系统和编译系统构成程序设计(操作系统和编译系统构成程序设计者与计算机之间的基本界面)。者与计

2、算机之间的基本界面)。l是计算机科学中一个非常成功的分支,也是最早获得成功的是计算机科学中一个非常成功的分支,也是最早获得成功的分支之一。分支之一。2第2页,此课件共48页哦l它的理论、技术和方法值得深入研究和学习它的理论、技术和方法值得深入研究和学习编译构造正确地建立了研究的问题领域和研究方式。编译构造正确地建立了研究的问题领域和研究方式。针对编译程序构造的某些部分已经开发了标准的形式化技术,包括有限自针对编译程序构造的某些部分已经开发了标准的形式化技术,包括有限自动机理论、上下文无关文法、正规表达式、属性文法、机器代码描述、数动机理论、上下文无关文法、正规表达式、属性文法、机器代码描述、数

3、据流分析方程式等。据流分析方程式等。编译程序包含许多普遍使用的数据结构和算法,例如哈希算法、栈机制、堆机编译程序包含许多普遍使用的数据结构和算法,例如哈希算法、栈机制、堆机制、垃圾收集、集合算法、表驱动算法等。制、垃圾收集、集合算法、表驱动算法等。编译程序的许多构造技术已经得到了广泛的应用。编译程序的许多构造技术已经得到了广泛的应用。学习编译原理有助于我们理解程序设计语言,编写优秀的软件。学习编译原理有助于我们理解程序设计语言,编写优秀的软件。为什么要学习编译原理为什么要学习编译原理3第3页,此课件共48页哦课程的性质和特点课程的性质和特点l性质性质是计算机专业的重要的是计算机专业的重要的专业

4、基础课专业基础课,被列入国际,被列入国际ACM 91ACM 91教程。教程。l本课程主要涉及内容本课程主要涉及内容高级程序设计语言高级程序设计语言形式语言理论形式语言理论的基本概念的基本概念构造编译程序构造编译程序的基本概念、原理和技术的基本概念、原理和技术l特点特点理论性强、内容抽象,理解难度较大。尤其是文法、形式语言及自动机、理论性强、内容抽象,理解难度较大。尤其是文法、形式语言及自动机、语法分析及语义分析的概念、原理和技术思想。语法分析及语义分析的概念、原理和技术思想。4第4页,此课件共48页哦教学内容和教学目标教学内容和教学目标教学内容:教学内容:1 1、基本概念、基本概念 2 2、语

5、言分析基础、语言分析基础 3 3、词法分析、词法分析 4 4、语法分析、语法分析 5 5、语义分析与中间代码生成、语义分析与中间代码生成 6 6、符号表与错误处理、符号表与错误处理 7 7、运行时存储空间管理、运行时存储空间管理 8 8、优化及目标代码生成、优化及目标代码生成5第5页,此课件共48页哦教学内容和教学目标教学内容和教学目标教学目标:教学目标:掌握形式语言理论与编译程序的实现原理与技术。掌握形式语言理论与编译程序的实现原理与技术。从形式语言理论的角度,进一步认识与理解程序设计语言及从形式语言理论的角度,进一步认识与理解程序设计语言及其与编译程序的联系。其与编译程序的联系。利用学习到

6、的知识,增强编写和调试程序的能力。利用学习到的知识,增强编写和调试程序的能力。将编译程序概念和技术应用于一般软件设计之中。将编译程序概念和技术应用于一般软件设计之中。6第6页,此课件共48页哦先修课程先修课程1.1.程序设计语言程序设计语言2.2.算法与数据结构:算法与数据结构:栈分配、堆分配、静态分配等各种存储分栈分配、堆分配、静态分配等各种存储分 配方式。线性表、二叉查找树、哈希表等配方式。线性表、二叉查找树、哈希表等 多种数据结构。多种数据结构。3.3.离散数学:离散数学:集合论与数理逻辑是进一步学习形式语言与自动集合论与数理逻辑是进一步学习形式语言与自动 机理论的数学基础。机理论的数学

7、基础。4.4.软件工程学:软件工程学:掌握大型程序设计及工程化的软件生产方法。掌握大型程序设计及工程化的软件生产方法。5.5.形式语言与自动机:形式语言与自动机:相当于本课程中词法分析与语法分析的相当于本课程中词法分析与语法分析的 理论基础。理论基础。7第7页,此课件共48页哦第一章第一章编译的基本概念编译的基本概念8第8页,此课件共48页哦基本概念基本概念l术语:术语:程序和语言程序和语言翻译程序和翻译方式翻译程序和翻译方式宿主机与目标机宿主机与目标机l编译过程概述编译过程概述l编译程序的逻辑结构编译程序的逻辑结构l编译程序的前端、后端、遍编译程序的前端、后端、遍l编译技术的应用与发展编译技

8、术的应用与发展9第9页,此课件共48页哦1.1 1.1 术语术语程序:程序:一组指令组成的序列,称为程序一组指令组成的序列,称为程序源程序:源程序:用用汇编语言汇编语言或或高级语言高级语言编写的程序称为源程序编写的程序称为源程序目标程序:目标程序:用用目标语言目标语言所表示的程序,可以是介于源语言和所表示的程序,可以是介于源语言和 机器语言之间的机器语言之间的“中间语言中间语言”,可以是某种机器,可以是某种机器 的的机器语言机器语言,也可以是某机器的也可以是某机器的汇编语言汇编语言。翻译程序:翻译程序:将将源程序源程序转换为转换为目标程序目标程序的程序称为翻译程序。的程序称为翻译程序。它是指各

9、种语言的翻译器,包括汇编程序和编译它是指各种语言的翻译器,包括汇编程序和编译 程序,是汇编程序、编译程序以及各种变换程序程序,是汇编程序、编译程序以及各种变换程序 的总称。的总称。10第10页,此课件共48页哦源程序、翻译程序、目标程序源程序、翻译程序、目标程序三者关系:三者关系:源程序源程序翻译程序翻译程序目标程序目标程序SOURCEPROGRAMTRANSLATEROBJECTPROGRAM即源程序是翻译程序的输入,目标程序是翻译程序的输出。即源程序是翻译程序的输入,目标程序是翻译程序的输出。1.1 1.1 术语术语11第11页,此课件共48页哦语言:语言:符合一定规则(文法)的程序的集合

10、符合一定规则(文法)的程序的集合 低级语言低级语言 字位码、机器语言、汇编语言字位码、机器语言、汇编语言 特点:与特定的机器有关,功效高,但使用复杂、繁特点:与特定的机器有关,功效高,但使用复杂、繁 琐、费时、易出错琐、费时、易出错 高级语言高级语言 Fortran、Pascal、C、JAVA等等 特点:不依赖具体机器,移植性好、对用户要求低、易特点:不依赖具体机器,移植性好、对用户要求低、易 使用、易维护等。使用、易维护等。1.1 1.1 术语术语12第12页,此课件共48页哦1.1 1.1 术语术语翻译程序:翻译程序:将将源程序源程序转换为转换为目标程序目标程序的的 程序称为翻译程序。它是

11、指程序称为翻译程序。它是指 各种语言的翻译器,包括汇各种语言的翻译器,包括汇 编程序和编译程序,是汇编编程序和编译程序,是汇编 程序、编译程序以及各种变程序、编译程序以及各种变 换程序的总称。换程序的总称。13第13页,此课件共48页哦l汇编程序汇编程序若源程序用汇编语言书写,经过翻译程序得到用机器语言表示的程序,这若源程序用汇编语言书写,经过翻译程序得到用机器语言表示的程序,这时的翻译程序就称之为汇编程序,这种翻译过程称为时的翻译程序就称之为汇编程序,这种翻译过程称为“汇编汇编”。l编译程序编译程序若源程序是用高级语言书写,经加工后得到目标程序,上述翻译过若源程序是用高级语言书写,经加工后得

12、到目标程序,上述翻译过程称程称“编译编译”。汇编程序与编译程序都是汇编程序与编译程序都是翻译程序翻译程序,主要区别是加工对象的,主要区别是加工对象的不同。由于汇编语言格式简单,常与机器语言之间有一一对不同。由于汇编语言格式简单,常与机器语言之间有一一对应的关系。汇编程序所要做的翻译工作比编译程序简单的多应的关系。汇编程序所要做的翻译工作比编译程序简单的多。1.1 1.1 术语术语14第14页,此课件共48页哦源程序的编译和运行源程序的编译和运行编译或汇编阶段编译或汇编阶段运行阶段运行阶段源程序源程序目标程序目标程序编译程序编译程序或汇编程序或汇编程序输出数据输出数据目标程序目标程序+运行子程序

13、运行子程序输入数据输入数据1.1 1.1 术语术语15第15页,此课件共48页哦工作过程:工作过程:解释程序:解释程序:对源程序边解释,边执行的程序。类似于口译,对源程序边解释,边执行的程序。类似于口译,不生成目标代码。不生成目标代码。输出数据输出数据解释程序解释程序输入数据输入数据源程序源程序特点:边解释,边执行;特点:边解释,边执行;不生成目标代码;不生成目标代码;比较简单,但速度慢。比较简单,但速度慢。1.1 1.1 术语术语16第16页,此课件共48页哦1.1 1.1 术语术语工作过程:工作过程:编译程序:编译程序:把源程序翻译成把源程序翻译成等价的等价的目标程序(汇编语言,机器语言)

14、。目标程序(汇编语言,机器语言)。类似于笔译。类似于笔译。源程序源程序编译程序编译程序目标程序目标程序输出数据输出数据目标程序目标程序+运行程序运行程序输入数据输入数据17第17页,此课件共48页哦编译程序的特点:编译程序的特点:1、翻译过程是一种功能上、翻译过程是一种功能上等价等价的翻译;的翻译;2、输出结果是低级语言;、输出结果是低级语言;3、编译程序与具体的语言和机器有关;、编译程序与具体的语言和机器有关;4、被编译的源程序是被加工的对象,、被编译的源程序是被加工的对象,目标程序是加工的结果;目标程序是加工的结果;5、比较复杂,效率高。、比较复杂,效率高。1.1 1.1 术语术语18第1

15、8页,此课件共48页哦l编译程序的分类编译程序的分类1、诊断编译程序、诊断编译程序用于帮助程序开发和调试的编译程序。用于帮助程序开发和调试的编译程序。2、优化编译程序、优化编译程序着重于提高目标代码效率的编译程序。着重于提高目标代码效率的编译程序。3、交叉编译程序、交叉编译程序如果一个编译程序产生不同于其宿主机的如果一个编译程序产生不同于其宿主机的机器代码。机器代码。4、可变目标编译程序、可变目标编译程序如果不需重写编译程序中与机器无关的部如果不需重写编译程序中与机器无关的部分就能改变目标机。分就能改变目标机。1.1 1.1 术语术语19第19页,此课件共48页哦1.1 1.1 术语术语l宿主

16、机:运行编译程序的计算机。宿主机:运行编译程序的计算机。l目标机目标机:运行编译程序所产生目运行编译程序所产生目 标代码的计算机。标代码的计算机。20第20页,此课件共48页哦编译过程是将编译过程是将高级语言程序高级语言程序翻译为等价的翻译为等价的目标程序目标程序的过程的过程翻译外文资料:翻译外文资料:1、能识别出句子中的每个单词;、能识别出句子中的每个单词;2、分析句子的语法结构;、分析句子的语法结构;3、根据句子的含义进行初步翻译;、根据句子的含义进行初步翻译;4、对译文进行修饰;、对译文进行修饰;5、写出最后的译文。、写出最后的译文。1.2 1.2 编译过程编译过程21第21页,此课件共

17、48页哦1.2 1.2 编译过程编译过程文献翻译与编译过程的比较文献翻译与编译过程的比较文献翻译文献翻译编译程序编译程序分析分析1 1、识别单词、识别单词2 2、分析句子、分析句子3 3、根据语义进行初步翻译、根据语义进行初步翻译1 1、词法分析、词法分析2 2、语法分析、语法分析3 3、语义分析、生成中间代码、语义分析、生成中间代码综合综合1 1、修辞加工、修辞加工2 2、写出译文、写出译文1 1、代码优化、代码优化2 2、目标代码生成、目标代码生成22第22页,此课件共48页哦词法分析词法分析语法分析语法分析语义分析及中间代码生成语义分析及中间代码生成代码优化代码优化目标代码生成目标代码生

18、成习惯上是将编译过程划分为习惯上是将编译过程划分为5 5个基本阶段:个基本阶段:1.2 1.2 编译过程编译过程23第23页,此课件共48页哦1.2 1.2 编译过程编译过程 单词单词:是语言的基本语法单位 保留字保留字(或称基本字,如:if、else、while)标识符标识符(如:max、min、str)常数常数 (如:12、6.8、a)运算符(如:+、-、*、/)界符 (;、(、)任务:任务:对源程序的字符串流进行扫描和分解,识别并输出对源程序的字符串流进行扫描和分解,识别并输出一个个单词符号,及其与此相关的属性(保留字,一个个单词符号,及其与此相关的属性(保留字,标识符,常数,运算符,界

19、符)标识符,常数,运算符,界符)一、词法分析一、词法分析字符序列字符序列编码形式编码形式24第24页,此课件共48页哦1.2 1.2 编译过程编译过程单词符号内部的表示单词符号内部的表示:二元式二元式单词值单词值单词类别单词类别词法分析依循的规则:词法分析依循的规则:描述词法规则的有效工具是正规文法和正规式。描述词法规则的有效工具是正规文法和正规式。例:例:ifB1=13thenX:=Y+1(20个字符)个字符)|基基标标运运常常基基标标运运标标运常运常本本识识算算数数本本识识算算识识算数算数字字符符符符符符号号符符符符符符25第25页,此课件共48页哦1.2 1.2 编译过程编译过程单词值单

20、词值单词类别单词类别ifif基本字基本字B1B1标识符标识符=运算符(比较)运算符(比较)1313常数常数thenthen基本字基本字X X标识符标识符:=:=运算符(赋值)运算符(赋值)Y Y标识符标识符+运算符(加)运算符(加)1 1常数常数26第26页,此课件共48页哦 任务:任务:根据语法规则(即语言的文法),把单词符号串分解成各类根据语法规则(即语言的文法),把单词符号串分解成各类 语法成分(如表达式、语句、函数等),分析其源程序的结语法成分(如表达式、语句、函数等),分析其源程序的结 构,判别是否为相应程序语言中的合法程序。构,判别是否为相应程序语言中的合法程序。二二、语法分语法分

21、析(编译程序的核心)析(编译程序的核心)1.2 1.2 编译过程编译过程语法分析依循的规则:语法分析依循的规则:描述语法规则的有效工具是上下文无关文法。描述语法规则的有效工具是上下文无关文法。27第27页,此课件共48页哦1.2 1.2 编译过程编译过程例:例:ZX+0.618*Y表达式表达式赋值语句赋值语句上下文无关文法:上下文无关文法::=:=“=”:=:=“+”|“*”:=:=“(”“)”|28第28页,此课件共48页哦语语法法分分析析的的结结果果-语语法法树树1.2 1.2 编译过程编译过程赋值语句赋值语句标识符标识符表达式表达式表达式表达式标识符标识符实数实数表达式表达式Z=X+Y0

22、.618表达式表达式表达式表达式*ZX+0.618*Y标识符标识符29第29页,此课件共48页哦1.2 1.2 编译过程编译过程任务:任务:规定各语法成分的含义和功能,即规定它们的属性或规定各语法成分的含义和功能,即规定它们的属性或 在执行时应进行的运算和操作,进行相应的语义检在执行时应进行的运算和操作,进行相应的语义检 查;产生中间代码。查;产生中间代码。三、语义分析及中间代码生成三、语义分析及中间代码生成 静态:静态:分析语法成份的含义,进行语义上的正确性检查。分析语法成份的含义,进行语义上的正确性检查。动态:动态:根据相应语义,生成根据相应语义,生成中间代码(中间代码(介于源语言和目标语

23、言之介于源语言和目标语言之间的中间语言形式)。间的中间语言形式)。30第30页,此课件共48页哦 生成中间代码的目的:生成中间代码的目的:1、利于代码优化、利于代码优化2、利于目标代码的移植、利于目标代码的移植 中间代码的形式:中间代码的形式:四元式、三元式、逆波兰表示四元式、三元式、逆波兰表示1.2 1.2 编译过程编译过程语义分析依循的规则:语义分析依循的规则:为文法的每一个产生式配备计算属性的计算规为文法的每一个产生式配备计算属性的计算规则。则。31第31页,此课件共48页哦1.2 1.2 编译过程编译过程其中其中t1、t2、t3为为编译程序引入的临时工作单元编译程序引入的临时工作单元四

24、元式四元式例:例:y=x+r*6运算符运算符左运算对象左运算对象右运算对象右运算对象 结果结果(1)inttoreal6-t1(2)*rt1t2(3)+xt2t3(4)=t3-y32第32页,此课件共48页哦1.2 1.2 编译过程编译过程任务:任务:对中间代码进行对中间代码进行加工变换加工变换,以期在最后阶段产生,以期在最后阶段产生 出更为高效(省时间、空间)目标程序。出更为高效(省时间、空间)目标程序。优化包括:优化包括:局部优化、全局优化、循环优化局部优化、全局优化、循环优化.四、优化四、优化33第33页,此课件共48页哦1.2 1.2 编译过程编译过程运算符运算符左运算对象左运算对象右

25、运算对象右运算对象结果结果(1)*r6.0t1(2)+xt1y例:例:y=x+r*6运算符运算符左运算对象左运算对象右运算对象右运算对象 结果结果(1)inttoreal6-t1(2)*rt1t2(3)+xt2t3(4)=t3-y34第34页,此课件共48页哦1.2 1.2 编译过程编译过程五、目标代码生成五、目标代码生成任务:任务:把优化后的中间代码变换成目标机的把优化后的中间代码变换成目标机的低级语言代码低级语言代码。movr,R1mul#6.0,R1movx,R2addR1,R2movR2,y运算符运算符左运算对象左运算对象右运算对象右运算对象结果结果(1)*r6.0t1(2)+t1xy

26、35第35页,此课件共48页哦编译过程小结:编译过程小结:目标代码目标代码生成程序生成程序代码优化代码优化程序程序语义分析语义分析生成中间生成中间代码代码语法分析语法分析程序程序词法分析词法分析程序程序S.PO.P1.2 1.2 编译过程编译过程36第36页,此课件共48页哦按逻辑功能不同,可将编译过程划分为五个基本阶段,按逻辑功能不同,可将编译过程划分为五个基本阶段,与此相对应,我们将实现整个编译过程的编译程序划分为与此相对应,我们将实现整个编译过程的编译程序划分为五个逻辑阶段(即五个逻辑子过程)。五个逻辑阶段(即五个逻辑子过程)。每个阶段中都要有:每个阶段中都要有:符号表管理符号表管理和和

27、错误处理错误处理1.3 1.3 编译程序的逻辑结构编译程序的逻辑结构37第37页,此课件共48页哦 诊察错误,并能报告用户错误性质和位置。诊察错误,并能报告用户错误性质和位置。出错处理能力的优劣是衡量编译程序质量好坏的一个重要指出错处理能力的优劣是衡量编译程序质量好坏的一个重要指标。标。填表:把源程序中的信息和编译过程中所产生的信填表:把源程序中的信息和编译过程中所产生的信 息登记在表格中。息登记在表格中。查表:在随后的编译过程中同时又要不断的查找这查表:在随后的编译过程中同时又要不断的查找这 些表格中的信息。些表格中的信息。符号表管理符号表管理错误处理错误处理1.3 1.3 编译程序的逻辑结

28、构编译程序的逻辑结构38第38页,此课件共48页哦典型的编译程序具有典型的编译程序具有7个逻辑部分个逻辑部分S.PO.P语义分析及语义分析及生成中间代码生成中间代码程序程序代码生成程序代码生成程序代码优化代码优化程序程序语法分析程序语法分析程序词法分析程序词法分析程序错错误误处处理理符符号号表表管管理理1.3 1.3 编译程序的逻辑结构编译程序的逻辑结构39第39页,此课件共48页哦根据编译程序各部分功能,将编译程序分成根据编译程序各部分功能,将编译程序分成前端前端和和后端后端前端前端:通常将与:通常将与源程序源程序有关的编译部分称为前端有关的编译部分称为前端分析部分。分析部分。包括:词法分析

29、、语法分析、语义分析、中间代码生成包括:词法分析、语法分析、语义分析、中间代码生成 特点:与特点:与源语言源语言有关有关后端后端:与:与目标机目标机有关的部分称为后端有关的部分称为后端综合部分综合部分。包括:代码优化、代码生成包括:代码优化、代码生成 特点:与特点:与目标机目标机有关有关编译程序的前端和后端编译程序的前端和后端1.4 1.4 编译程序的前端、后端、遍编译程序的前端、后端、遍40第40页,此课件共48页哦 第一遍第一遍 第二遍第二遍 S.P中间形式中间形式1 1S.P中间形式中间形式2C2C1S.PO.P上一遍的结果是下一遍的输入,最后一遍生成目标程序。上一遍的结果是下一遍的输入

30、,最后一遍生成目标程序。对源程序(包括源程序中间形式)从头到尾扫描一次,并对源程序(包括源程序中间形式)从头到尾扫描一次,并做有关的加工处理,生成新的源程序中间形式或目标程序,通做有关的加工处理,生成新的源程序中间形式或目标程序,通常称之为一常称之为一遍遍。1.4 1.4 编译程序的前端、后端、遍编译程序的前端、后端、遍41第41页,此课件共48页哦一遍扫描即可完成整个编译工作的称为一遍扫描即可完成整个编译工作的称为一遍扫描编译程序一遍扫描编译程序遍的划分视具体情况而定(内存的大小、源语言的繁简、目遍的划分视具体情况而定(内存的大小、源语言的繁简、目标程序质量的高低)。标程序质量的高低)。优点

31、优点:1 1、减少对内存容量的要求、减少对内存容量的要求2 2、编译程序结构清晰、各遍功能独立、相互联系简单、编译程序结构清晰、各遍功能独立、相互联系简单缺点缺点:增加读写中间文件的次数,降低效率增加读写中间文件的次数,降低效率1.4 1.4 编译程序的前端、后端、遍编译程序的前端、后端、遍42第42页,此课件共48页哦应用:应用:大部分软件工具的开发,都要使用编译技术和方法大部分软件工具的开发,都要使用编译技术和方法 语法制导的结构化编辑器语法制导的结构化编辑器 程序格式化工具程序格式化工具 软件测试工具软件测试工具 静态分析器:不可能执行的代码、定义后未引用的变量静态分析器:不可能执行的代

32、码、定义后未引用的变量 动态测试工具:运行后与期望结果比较动态测试工具:运行后与期望结果比较 程序理解工具:确定调用关系,画出流程图程序理解工具:确定调用关系,画出流程图 高级语言的翻译工具高级语言的翻译工具1.5 1.5 编译技术的应用与发展编译技术的应用与发展43第43页,此课件共48页哦其它应用:其它应用:v 文本编辑器文本编辑器v 信息检索系统信息检索系统v 模式识别器模式识别器v 排版、绘图系统排版、绘图系统1.5 1.5 编译技术的应用与发展编译技术的应用与发展44第44页,此课件共48页哦 并行编译技术并行编译技术 目的:提高并行计算机体系结构的性能,超大规模计算目的:提高并行计

33、算机体系结构的性能,超大规模计算 的日益增长的需求。两种实现方法:的日益增长的需求。两种实现方法:利用重构技术将串行程序并行化利用重构技术将串行程序并行化直接编写并行程序直接编写并行程序 交叉编译技术交叉编译技术由于目标机指令系统与宿主机的指令系统不同,编译时由于目标机指令系统与宿主机的指令系统不同,编译时将应用程序的源程序在宿主机上生成目标机代码,称为将应用程序的源程序在宿主机上生成目标机代码,称为交叉编译交叉编译。发展:发展:1.5 1.5 编译技术的应用与发展编译技术的应用与发展45第45页,此课件共48页哦1.1.判断下面的陈述是否正确。判断下面的陈述是否正确。(1)高级语言程序到低级

34、语言程序的转换是基于语义的)高级语言程序到低级语言程序的转换是基于语义的等价变换;等价变换;(2)含有优化部分的编译程序的执行效率高;)含有优化部分的编译程序的执行效率高;(3)因为编译程序和解释程序具有不同的功能,所以它)因为编译程序和解释程序具有不同的功能,所以它们的实现技术也完全不同;们的实现技术也完全不同;(4)编译程序和解释程序的根本区别在于解释程序对源)编译程序和解释程序的根本区别在于解释程序对源程序并没有真正进行翻译;程序并没有真正进行翻译;(5)无论一遍扫描的编译器还是多遍扫描的编译器都要)无论一遍扫描的编译器还是多遍扫描的编译器都要对源程序扫描一遍。对源程序扫描一遍。课堂练习

35、课堂练习答案:答案:(1)(1)T T(2)(2)F (3)F (3)F F (4)(4)F F (5)T(5)T 46第46页,此课件共48页哦答案:答案:(1)(1)语法语法 (2)(2)语义语义 (3)(3)词法词法请指出下列错误信息是编译的哪个阶段报告的:请指出下列错误信息是编译的哪个阶段报告的:(1)else没有匹配的没有匹配的if;(2)使用的函数没有定义)使用的函数没有定义;(3)在数中出现非数字字符)在数中出现非数字字符。课堂练习课堂练习47第47页,此课件共48页哦作业作业1 1计计算算机机执执行行用用高高级级语语言言编编写写的的程程序序有有哪哪些些途途径径?它们之间的主要区别是什么?它们之间的主要区别是什么?2 2画画出出编编译译程程序序的的总总体体逻逻辑辑结结构构图图,简简述述各各部部分的主要功能。分的主要功能。48第48页,此课件共48页哦

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁