编译原理(骆婷)第1章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 编译原理这门课程主要介绍设计和构造编译程序的基本原理和常用的技术和方法。 * 高级语言所写程序转换(翻译)成机器语言程序计算机才能执行 * 高级语言所写程序转换(翻译)成机器语言程序计算机才能执行 * * * * * * 编译程序是一个复杂的系统程序,要生成一个编译程序一般要考虑以下几方面: 虽然我们只有少数人从事构造或维护程序语言编译程序的工作,但是,大部分系统软件和应用软件的开发,通常要用到编译的原理和技术。 编译器的够造体现了 * 骆婷 luoting@mail.hust.edu .cn第一章 编译程序概论 编译程序的结构 编译的过程 本章重点介绍编译程序的基本概念。 什么是编译程序 翻译程序是指这样一个程序,它把一种语言(称作源语言)所写的程序(源程序)翻译成等价的另一种语言(称作目标语言)的程序(目标程序)。 源程序 目标程序 翻译程序 1.1 什么是编译程序 1.1 什么是编译程序 编译程序是一种翻译程序,它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。 源程序 高级语言程序 编译程序 目标程序 汇编语言或者机器语言程序 程序运行阶段 采用编译方式在计算机上执行用高级语言编写的程序,需分阶段进行。 第一种情况: 源程序 编 译 程 序 机器语言 目标程序 初始数据 运行系统 结果 编 译 阶 段 运 行 阶 段 高级语言 程序 第二种情况: 源程序 编 译 程 序 机器 语言 目标 程序 初始数据 运行系统 结果 编 译 阶 段 运行阶段 汇 编 程 序 汇编 语言 目标 程序 汇 编 阶 段 高级语言 程序 程序运行阶段 1.2 编译过程和编译程序 的基本结构 将英文句子 “This is a book. ”翻译成中文句子的大致过程是: 词法分析 语法分析 语义分析 修饰工作 翻译成文 编译过程 编译程序是将一种语言形式翻译成另一种语言形式,因此,其工作过程一般可划分为如下五个阶段: 词法分析 语法分析 语义分析和中间代码生成 代码优化 目标代码生成 float r,h,s; s = 2*3.1416 * r *h; 例如 计算圆柱体侧面积的程序 片断如下: 编译过程 词法分析阶段的任务是对构成源程序的字符串从左到右进行扫描和分解,根据语言的词法规则,识别出一个一个具有独立意义的单词( 也称单词符号, 简称符号 )。 1. 词法分析 词法规则是单词符号的形成规则,它规定了哪样的字符串构成一个单词符号。 词法规则 float r,h,s; s = 2*3.1416*r*h; 例如 上述源程序通过词法分析识别出如下单词符号: 基本字 float 标识符 r、h、s 常数 3.1416、2 算符 * 界符 ;、 ,、= 词法规则 2. 语法分析 语法分析的任务是在词法分析的基础上, 根据语言的语法规则从单词符号串中识别出各种语法单位 ( 如表 达式、说明、语句等 ) ,并进行语法 检查,即检查各种语法单位在语法结 构上的正确性。 语言的语法规则规定了如何从单词符号形成语法单位,语法规则是语法单位的形成规则。 float r,h,s; s = 2*3.1416*r*h; 例如 语法规则 单词符号串 s=2*3.1416 * r *h中,“s” 是变量,单词符号串 “2 * 3.1416 * r *h” 组合成表达式这样的语法单位 , 由变量=表达式构成赋值语句这样的语法单位。 语法规则 3. 语义分析和中间代码生成 语义分析的任务是首先对每种语法单位进行静态的语义审查,然后分析其含义,并用另一种语言形式 (比源语言更接近于目标语言的一种中间代码或直接用目标语言 ) 来描述这种语义。 例如,前例中 将s = 2*3.1416 * r *h翻译成如下形式的四元式中间代码: (1) ( *, 2, 3.1416, T1 ) (2) ( *, T1, r , T2 ) (3) ( *, T2, h , T3 ) (4) ( =, T3, __, s ) 4. 代码

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档