什么叫编译程序.ppt_第1页
什么叫编译程序.ppt_第2页
什么叫编译程序.ppt_第3页
什么叫编译程序.ppt_第4页
什么叫编译程序.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章引言,第1章引言(1),1.1什么是编译器编译器:是指能够将一种语言的程序转换成另一种语言的程序,而后者在逻辑上等同于前者。如果源语言是“高级语言”,如FORTRAN、Pascal、c、Ada、Smalltalk或Java,而翻译器是“低级语言”,如汇编语言,则称为编译器。第1章引言注意编译器和解释器之间的区别。一种语言中的解释器是一种程序,它将用该语言编写的源程序作为输入,但不产生目标程序,而是在解释时执行源程序本身。术语“编译”的内涵是实现从用源语言表达的算法到用目标语言表达的算法的等价转换。第一章引言1.2编译过程概述掌握编译过程的五个基本阶段是我们编译原理课程的基本内容。将编译的五个基本阶段与英语翻译的五个步骤进行比较,有助于理解编译过程。找出句子中的每个单词2。分析句子的语法结构。最初翻译句子的意思。修改5。写最后的翻译,1。词汇分析2。语法分析。语义分析中间代码生成4。优化5。目标代码生成,第1章介绍,1。2 .词法分析输入源程序,扫描并分解组成源程序的字符串,并在词法分析阶段识别符合语言词法规则的单词(也称为单词符号或缩写符号)。描述词汇规则的有效工具是形式自动机和有限自动机。第一章导论。2 .语法分析的任务:在词汇分析的基础上,根据语言的语法规则,将单词符号分解成各种语法单位(语法类别),如“短语”、“句子”、“从句”和“程序段”。语法规则通常用上下文无关的语法来描述。第一章导论。2 .语义分析和中间代码的生成通常涉及两个方面:第一,各种语法类别的静态语义检查,如果正确的话,还有另一个方面,即中间代码的翻译。属性语法通常用来描述语义规则。所谓的“中间代码”是一种含义明确、易于处理的符号系统。除了四进制代码,还有三进制、间接三进制、逆波兰符号、树形表示等。第一章导论。2 .优化和优化的任务是处理上一节中生成的中间代码,以便在最后阶段生成更高效(节省时间和空间)的代码优化。优化和优化遵循的原则是程序的等价转换规则。其方法包括:提取公共子表达式、循环优化、删除无用代码等。第一章导论。2 .目标代码生成阶段的任务是将中间代码(或优化的)转换成特定机器上的低级语言代码。这取决于硬件系统结构和机器指令的含义。第一章导论。3编译器结构、表管理、词法分析器、语法分析器、语义分析和中间代码生成、优化器、目标代码生成器、源程序、单词符号、语法单元、中间代码、中间代码、目标代码、错误处理、介绍第一章,我们可以根据上一页的一般框图设计编译器。从图中,我们可以看到,除了编译的五个基本阶段,一个完整的编译器还应该包括两个部分1:“表单管理”和“错误处理”。3 .表和表管理编译器使用的最重要的表是符号表,它用于在源程序中注册每个名称及其名称和子名称的各种属性。例如,名称是常量名称、变量名称还是过程名称;如果它是一个变量名,它的类型是什么,它有多少内存,它的地址是什么,等等。第一章导论。3 .错误处理编译器不仅可以编译正确编写的程序,还可以处理源程序中存在的错误。如果源程序是错误的,编译器应该试图找到错误并向用户报告错误。这部分工作由一组特殊的程序(称为错误处理程序)完成。第一章导论。3 .编译前端和后端前端主要由与源语言相关但与目标机器无关的部分组成。它通常包括词法分析、语法分析、语义分析和中间代码生成。一些代码优化工作也可以包含在前端。后端包括编译器中与目标代码相关的部分,例如与目标机器相关的优化,以及目标代码的生成。第一章导论。在编译器产生之前,大多数编译器都是使用机器语言或汇编语言作为工具来构建的。为了充分发挥各种硬件系统的效率并满足各种特定的需求,许多人仍然使用这个工具来构建编译器(或编译器的核心部分),但是越来越多的人已经使用高级语言作为编译程序的工具。因为这可以大大节省编程时间,所以急切构建的编译器易于阅读、维护和移植。第一章是引言。由于这个原因,我们使用T图来表示源语言S、目标语言T和编译语言I之间的关系。如果已经有一个用机器A代码实现的高级语言L1的编译器,我们可以用L1语言为另一个高级语言L2编写一个编译器。在用L1编译器编译了L2编译器之后,我们可以得到用机器A代码实现的L2编译器。我们也可以使用“自编译方法”来生成编译器。方法是首先为该语言的核心部分构造一个小型编译器(可以用低级语言

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论