- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 1 第一章 什么是编译 编译器的工作阶段 编译器各阶段的工作 编译程序的逻辑结构 编译器的组织 编译器的设计 编译技术和软件工具 学习本课程应注意的问题 一个编译程序的重要性体现在屏蔽机器细节,使程序设计者独立于机器。 程序设计语言程序的典型处理过程(图) 不同编译程序存在差异,但基本任务和使用的基本技术是相同的。 编译程序的产生与发展 源程序 PROGRAM m; VAR a,b,c:real; BEGIN read(b,c); a:=b+c*60; write(a) END. 经词法分析源程序被加工成单词流 保留字,PROGRAM 标识符,m 分隔符, ; 保留字,VAR 标识符,a 标识符,b 标识符,c 分隔符, : 标识符, real 分隔符, ; 保留字, BEGIN …... 标识符,a 算符 , := 标识符,b 算符, + 标识符,c 算符,* 常数 ,60…… 保留字, END 分隔符, . 生成中间代码 1) (inttoreal, 60, -, temp1) 2) (*, c, temp1, temp2) 3) (+, b, temp2, temp3) 4) (:=, temp3, -, a) 符号表 错误的诊查处理 编译程序在各个阶段应诊断和报告源程序中的错误,包括词法错误,语法错误,语义错误。 编译程序应报告出错地点,并给出简明准确的提示信息。将错误所造成的影响限制在尽可能小的范围内,使程序的其余部分能继续编译下去,有些编译程序还能自动校正错误。 上述编译过程的划分是一个典型处理模式,并非所有的编译程序都分成这样几个阶段,不过多数实用的编译程序都采用上述几个阶段的工作过程。 编译程序(器)的组织 前端和后端 源程序 中间代码 目标代码 仅依赖源语言 依赖目标机,只与中间代码有关 遍(PASS): 对输入文件(源程序或其等价的中间语言程序)从头到尾扫视,完成预定处理的过程。 软件工具开发常用到编译技术和方法 语言的结构化编辑器(语法制导) 语言程序的调试工具(语法分析和语义处理) 程序格式化工具 语言程序测试工具(语法分析) 程序理解工具 高级语言之间的转换工具(简化编译程序) 并行编译技术(并行机和多处理机发展的要求) 设计编译程序应首先研究的问题 首先研究源程序的语法和语义及运行模型,源是设计编译程序的出发点。 研究目标计算机,设计目标代码的指令系统,它是由目标计算机扩充而成,扩充后的计算机称作抽象计算机。目前的通用计算机往往和源语言执行模型不一致。。 教和学的几个问题 重要性:处理字符串的一般方法;构造大程序的方法;实用;研究课题:新的语言及实现技术;并行编译技术。 学习方法 :(1)源程序是源泉;(2)把每个阶段放到整个编译程序背景中学习;(3)认真做作业。 20世纪50年代早期奠基,功能有限 20世纪50年代中期成功开发一批编译程序 20世纪50年代末期开始研究编译程序的自动生成工具 20世纪60年代起,使用自展技术构造编译程序 20世纪70年代并行计算机逐步发展,并行编译技术研究逐步展开并逐步深入 20世纪70年代开始,面向对象编译程序逐步成熟并逐步广泛使用 需预处理的源程序 预处理程序 源程序 编译程序 目标汇编程序 汇编程序 可再装配的机器代码 装配/连接编辑程序 绝对机器代码 可再装配目标文件 * * 编译概述 编译程序 目标程序 源程序 把高级语言源程序翻译成等价的低级语言目标程序。 编译程序的功能 编译程序完成从源程序到目标程序的翻译工作,是一个复杂的整体过程。从概念上讲,一个编译程序的整个工作过程是划分阶段进行的,每个阶段将源程序的一种表示形式转换成另一种表示形式,各个阶段进行的操作在逻辑上是紧密连接在一起的,下图是一个编译过程各个阶段的典型划分: 词 法 分 析 语 法 分 析 语 义 分 析 中间代码生成 优 化 目标代码生成 目标代码 源 程序 符 号 表 管 理 错 误 诊 查 处 理 编译程序的
您可能关注的文档
- 毕业典礼(精品·公开课件).ppt
- 毕业典礼策划(精品·公开课件).ppt
- 毕业典礼1(精品·公开课件).ppt
- 毕业典礼给青春画一个圆(精品·公开课件).ppt
- 毕业典礼游戏(精品·公开课件).ppt
- 毕业论文92498594(精品·公开课件).ppt
- 毕业论文答辩模板(房地产评估及销售平台)(精品·公开课件).ppt
- 毕业论文撰写(精品·公开课件).ppt
- 毕业典礼展示(正式播放03版)(精品·公开课件).ppt
- 毕业设计论文(精品·公开课件).ppt
- 新闻学突发新闻事件报道策略优化研究答辩汇报.pptx
- 市场营销直播电商选品策略优化与产品销量提升路径答辩汇报.pptx
- 高新技术企业税务筹划的核心路径——政策借力与合规优化研究毕业论文答辩.pptx
- 护理学老年痴呆患者个性化护理模式创新与实践毕业答辩.pptx
- 上市公司财务舞弊的会计溯源——成因分析与治理对策研究毕业论文答辩.pptx
- 机械装备远程监控系统设计与异地运维便捷性及响应速度提升研究毕业论文答辩汇报.pptx
- 日语语言文学日本流行歌曲的歌词特色与情感表达研究答辩汇报.pptx
- 现当代都市散文的便利店文化书写与都市便民生活研究毕业答辩.pptx
- 城市垃圾分选技术研究与资源回收率提升答辩汇报.pptx
- 胃癌术后患者早期康复训练与胃肠功能恢复的关联性研究答辩.pptx
原创力文档


文档评论(0)