- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译过程的实现: 一个编译过程可以由一遍、两遍或多遍完成 遍(pass) :对源程序或中间语言程序从头到尾扫描并完成规定任务的过程。 一遍的编译器是通过一遍扫描直接从源程序生成出目标代码,而多遍的编译器则通过多遍扫描产生目标代码。比如第一遍进行词法分析、语法分析、中间代码生成和中间代码优化,而第二遍扫描则从中间代码产生目标代码 影响分遍的因素:源语言结构,目标机资源 1.5 编译技术和软件工具 软件工具的开发常用到编译技术和方法 语言的结构化编辑器(structure based editor) 引导用户在语言的语法制导下编制程序,与语法分析有关 语言程序的调试工具(debugger) 调试工具帮助编程人员检查程序的算法和运行结果是否符合愿意,与语法分析和语义处理关系密切。 语言程序的测试工具 静态分析器:检查变量的定值与引用关系 动态测试器:用测试用例记录程序运行时的实际路径 高级语言之间的转换工具 把一种高级语言转换成另一种高级语言 并行编译技术 并行机和多处理机的发展要求软件的并行处理,并行编译技术的两种方法: 运用重构技术从串行程序中分析出并行成分 用并行语言编写并行处理程序 小结 内容: 什么是编译程序 编译的各个阶段 为什么要学习编译程序 重点是对编译程序的功能和结构有总体认识,理解编译程序各个阶段的逻辑关系以及他们怎样作为一个整体完成编译任务 Bytecode(.class) is the machine language of java virtual machine(JVM) JVM a program that abstracts the computer and executes java bytecode JVM is an interpreter that executes the bytecode. * gcc –E hello.c hello2.c gcc –S hello2.c Gcc –c hello2.s * 自展技术bootstrapping * 第一章 编译程序概论 第一章 编译程序概论 学习目标: 掌握:编译的各个阶段 理解:编译程序的概念 了解:解释器,编译程序的结构和组合 1.1 什么是编译程序 1.2 编译过程概述 1.3 编译程序的结构 1.4 编译阶段的组合 1.5 编译技术和软件工具 1.1 什么是编译程序 编译程序(compiler) 将用高级语言(如FORTRAN,PASCAL或C)书写的程序翻译成等价的低级语言程序(如汇编语言或机器语言),这种翻译程序称为编译程序(compiler)。 1.1 什么是编译程序 编译程序(compiler) 编译程序的输入对象称为源程序(Source program) 输出对象称为目标程序(Target or Object program) 高级语言程序 编译程序 低级语言程序 解释器(interpreter)与编译器 共同点:都是语言的一个实现系统 不同点: 解释器是源程序的一个执行系统,工作结果得到源程序的执行结果; 编译器是源程序的转换系统,工作结果得到等价于源程序的某种目标程序 解释程序 解释器和编译器 编译程序 源程序 源程序 数据 计算结果 目标程序 解释器与编译器 解释器与编译器 需预处理的源程序 预处理程序 源程序 编译程序 目标汇编程序 汇编程序 可再装配的机器代码 装配/连接--编辑程序 绝对机器代码 可再装配目标文件 高级语言程序的处理过程 需预处理的源程序 预处理程序 源程序 编译程序 目标汇编程序 汇编程序 可再装配的机器代码 装配/连接--编辑程序 绝对机器代码 可再装配目标文件 高级语言程序的处理过程 预处理程序 编译程序:目标汇编程序 编译程序的发展 20世纪50年代中期,第一个编译器——FORTARN语言编译器开发出来 随着文法出现,20世纪50年代末,开始研究编译程序的自动生成工具 20世纪60年代,研究使用自展技术 20世纪70年代,开发出目前仍广泛使用的自动生成工具,lex和Yacc 并行编译技术 1.2 编译程序概述 一个编译程序的整个工作过程是划分成阶段进行的,每个阶段将源程序从一种表示形式转换成另一种表示形式。 典型的划分方法: 目标程序 源程序 词法分析 语法分析 语义分析 中间代码生成 代码优化 目标代码生成 表格管理 出错处理 编译的各个阶段 1词法分析(lexical analysis) 任务:从左到右一个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词(Token)。 逻辑上紧密相连的一组字符,这些字 符具有集体含义。 单词:标识符,保留字,算符,界符等 例:源程序片断begin var sum,first
您可能关注的文档
- Electrical Circuits and Electronics课件(华南理工)Lecture 15.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 16.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 19.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 20.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 21-22.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 23.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 24.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 25 3phase.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 26.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 27.ppt
最近下载
- 2023年高中数学会考试题及答案.pdf VIP
- 口腔齿科培训-舒适化拔牙流程.pptx
- 【高中语文】整本书阅读《乡土中国》+学案+统编版高中语文必修上册.docx VIP
- 高等级公路中钢筋混凝土圆管涵的受力分析.pdf
- 上海市华师大二附中2024年高三第一次模拟考试数学试卷含解析.doc
- 2022年中新集团行测笔试题库.pdf
- 2024年部编版五年级上册语文期末复习语言文字积累与梳理1. 字音.pptx VIP
- 森林消防综合应急救援基础能力建设、队伍训练、综合救援队伍装备使用和维护规范.pdf VIP
- 《中国近现代史纲要(2023版)》课后习题答案汇编.docx
- (高清版)DB11∕T 1824-2021 森林消防综合应急救援队伍装备使用和维护规范.pdf VIP
文档评论(0)