网站大量收购独家精品文档,联系QQ:2885784924

上海大学编译原理第1章.pptVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上海大学编译原理第1章

编译程序概论 第1章 1.1 什么是编译程序 一个编译程序就是一个语言翻译程序。它把一种高级语言(称作源语言)书写的程序翻译成另一种低级语言(称作目标语言)的等价的程序。 高级语言程序的处理方法之一(编译途径) 源程序 运行程序 目标程序 编译程序 结果 运行子程序、初始数据 编译阶段 运行阶段 高级语言程序的处理方法之二(解释途径) 源程序 结果 解释程序 初始数据 与编译的主要区别:解释程序不产生目标代码 返回 1.2 编译过程概述 所谓编译过程是指将高级语言程序翻译为等价的目标程序的过程。 举例 PROGRAM m; VAR sum,first,count:real; BEGIN sum:=first+count*10 END. 词法分析 从左到右一个字符一个字符地读入源程序对构成源程序的字符流进行扫描和分解,从而识别出一个个单词(也称单词符号或符号)。 保留字 PROGRAM 标识符 m 分隔符 ; 保留字 VAR 标识符 sum 分隔符 , 标识符 first 分隔符 , 标识符 count 分隔符 : 保留字 real 分隔符 ; 保留字, BEGIN 标识符 sum 赋值号 := 标识符 first 加号 + 标识符 count 乘号 * 整数 10 保留字 END 分隔符 . 语法分析 在词法分析的基础上将单词序列分解成各类语法短语,如“程序”,“语句”,“表达式”等等。一般这种语法短语,也称语法单位,可表示成语法树。 语义分析 审查源程序有无语义错误,为代码生成阶段收集类型信息。 中间代码生成 “中间代码”是一种结构简单、含义明确的记号系统。很多编译程序采用了一种近似“三地址指令”的“四元式”。 四元式的形式为 (运算符,运算对象1,运算对象2,结果) 代码优化 对产生的中间代码进行变换或进行改造,目的是使生成的目标代码更为高效。 目标代码生成 把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编代码。 1.3 编译程序的结构 1.4 编译阶段的组合 根据编译程序各部分功能,将编译程序分成前端和后端。通常将与源程序有关的编译部分(词法分析、语法分析、语义分析、中间代码生成、代码优化)称为前端;与目标机有关的部分(目标代码生成)称为后端。 编译程序按其完成规定任务的过程中对源程序或其等价的中间语言程序从头到尾扫视的次数分为一遍扫描和多遍扫描。 1.5 编译技术和软件工具 语言的结构化编辑器 语言程序的调试工具 语言程序测试工具 高级语言之间的转换工具 并行编译技术 * *

文档评论(0)

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

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

1亿VIP精品文档

相关文档