- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章 编译程序概论;;1.1 什么是编译程序;解释器(interpreter)与编译器
共同点:都是语言的一个实现系统
不同点:
解释器是源程序的一个执行系统,工作结果得到源程序的执行结果;
编译器是源程序的转换系统,工作结果得到等价于源程序的某种目标程序;练习:;提高:;扩展:程序设计语言分类;练习:;练习:;需预处理的源程序;编译程序的发展;1.2 编译程序概述;目标程序;1.词法分析 (lexical analysis or scanning);例:源程序片断begin var sum,first,count:real;sum:=first+count*10 end.;2.语法分析 (syntax analysis or parsing);例:赋值语句 sum:=first+count*10;3.语义分析 (semantic analysis);;例 源程序:Sum:=first + count * 10count是实型,10是整型,语义分析后得到新语法树为:;4.中间代码生成(intermediate code generation);5.代码优化 (code optimization);6.目标代码生成 (code generation);7.表格管理和出错处理;1.3 编译程序的结构(components);1.4 编译阶段的组合;;编译过程的实现:
一个编译过程可以由一遍、两遍或多遍完成
遍(pass) :对源程序或中间语言程序从头到尾扫描并完成规定任务的过程。
一遍的编译器是通过一遍扫描直接从源程序生成出目标代码,而多遍的编译器则通过多遍扫描产生目标代码。比如第一遍进行词法分析、语法分析、中间代码生成和中间代码优化,而第二遍扫描则从中间代码产生目标代码
影响分遍的因素:源语言结构,目标机资源;1.5 编译技术和软件工具;语言程序的测试工具
静态分析器:检查变量的定值与引用关系
动态测试器:用测试用例记录程序运行时的实际路径
高级语言之间的转换工具
把一种高级语言转换成另一种高级语言
并行编译技术
并行机和多处理机的发展要求软件的并行处理,并行编译技术的两种方法:
运用重构技术从串行程序中分析出并行成分
用并行语言编写并行处理程序;小结
原创力文档


文档评论(0)