编译原理第一节.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文档。上传文档
查看更多
* * 由于目标机指令系统与宿主机的指令系统不同,编译时将应用程序的源程序在宿主机上生成目标机代码,称为交叉编译。 * * * * * * * * * * * * * * * * * * * * * Java Virtual Machine(Java虚拟机),它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。 * 一般来说,大学里面的本科教学是不可能把上面的所有部分都认真讲完的,而是比较偏重于前面几个部分。像代码优化那部分东西,就像个无底洞一样,如果要认真讲,就是单独开一个学期的课也不可能讲得清楚。所以,一般对于本科生,对词法分析和语法分析掌握要求就相对要高一点了。? * * * * * * * * * * * * * * * * 既能改变源代码  涉及到重写前端 又能改变目标代码  涉及到重写后端 * 用现在的标准来衡量, * 随着编译技术的发展和社会对编译程序需求的不断增长 自展的主要特征是用被编译的语言来书写该语言自身的编译程序 * EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。 * 冯诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。   人们把冯诺依曼的这个理论称为冯诺依曼体系结构。从ENIAC到当前最先进的计算机都采用的是冯诺依曼体系结构。所以冯诺依曼是当之无愧的数字计算机之父。 计算机由运算器、存储器、控制器和输入设备、输出设备五大部件组成 * * * * 第 * 页 语言范型(paradigms) (支持的计算模式) 强制式(imperative ) 程序中指明如何完成一个计算任务 C、C++、C#和Java 声明式(declarative) 程序中指明要进行哪些计算 函数式语言:ML、Haskell 约束逻辑描述语言:Prolog 计算机体系结构 冯诺曼机体系结构 并行体系结构 嵌入系统 2 推动编译技术发展的因素 * 第 * 页 3 研究领域 并行编译技术 交叉编译技术 硬件描述语言及其编译技术 * 第 * 页 设计和实现一个编译程序,必须精通: 源 语 言 目标语言 编译方法 1.8 编译程序实现的途径 开发编译程序的途径: 预处理法 移植法(交叉编译) 自展法 工具法 理论法 * 第 * 页 源语言(源程序) (Source language)(Source program) 目标语言(目标程序) (Object or Target language)(Object or Target program) 实现语言(Implementation language) 术 语 宿主机:运行编译程序的计算机。 目标机:运行编译程序所产生的目标代码的计算机。 源程序 编译程序 目标程序 * 第 * 页 T 形图 表示一个编译程序所涉及到的三方面 源语言 实现语言 目标语言 * 第 * 页 一种高级语言需要在不同的目标机上实现 把已在A机器上实现的一种高级语言的编译程序移植到B机器上? 1 交叉编译(Cross Compiling) 把一个源语言在宿主机(运行编译程序的计算机)上经过编译产生目标机的汇编语言或机器语言。 * 第 * 页 交叉编译 举例 条件:A 机有 C 语言的编译程序 P1 目的:实现 B 机的 C 语言的编译程序P3 C语言 C语言 B机器 C语言 A机器 A机器 C语言 A机器 B机器 (A机的C编译P1)编译P0,得到在A机上可运行的P2(C →B) P0 P1 P2 1. (人)用 C语言编制B机的C编译程序P0(C→B) * 第 * 页 C语言 C语言 B机器 C语言 A机器 3. (A机的P2)编译P0,得到在B机上可运行的P3(C →B) P0 P2 B机器 C语言 B机器 B机器 P3 交叉编译 举例 * 第 * 页 编译程序的功能 把高

文档评论(0)

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

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

1亿VIP精品文档

相关文档