- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1讲-课程简介-编译概述,编译原理课程设计,课程概述,课程教学小结编译,编译原理精品课程,微讲台微课程制作系统,肛门课程对美女讲师,造价员精讲课程,讲师培训课程,课程讲义
中国科大 编译原理和技术 本讲纲要 课程简介 编译技术概述 教材和参考书 陈意云、张昱,编译原理,高等教育出版社, 2003 Louden, K.C, 《编译原理及实践(英文版)》. 中信出版社 Alfred V.Aho, Ravi Sethi, Jeffrey D.Ullman, .《编译原理 技术与工具(英文版)》 人民邮电出版社 编译技术研究对象:编译器的构造与分析 课程内容 主要内容 介绍编译器构造的一般原理和基本实现方法 介绍的理论知识:形式语言和自动机理论、语法制导的定义和属性文法、类型论等 课程特点 强调形式化描述技术 强调对编译原理和技术的宏观理解,不把注意力分散到枝节算法,不偏向于某种源语言或目标机器 课程要求 讲课进度较快,平时不复习并加深理解,后面将听不懂 作业较多,要求独立完成 上机实验,要求给予足够重视 学习的意义 它是计算机专业的核心课程。对编程语言的设计和实现有深刻的理解,有利于学习编程语言,知其然知其所以然。 学习的意义 从软件工程看,编译器是一个很好的实例,所介绍的概念和技术能应用到一般的软件设计之中。编译器也许是大家在本科阶段分析最透彻的实例了。 学习的意义 可以肯定地说,你们中的95%以上的人在一辈子的生涯中都没有机会去实现一个真正的复杂语言的编译器。但是每一个人都绝对遇到需要使用编译技术的项目。 以下就是一些小的“编译器”. 学习的意义 学习的意义 学习的意义 学习的意义 在计算机专业考研或者各大公司招聘时,必考内容。 学习的意义 在计算机专业考研或者各大公司招聘时,必考内容。 在X86/Linux下,给出下面的程序的运行结果 学习的意义 编写高效程序 在X86/Linux环境下,下面的两个语句哪一个运行得更快一些? 学习的意义 编写高效程序 在X86/Linux环境下,下面的两个语句哪一个更为高效? 本讲纲要 课程简介 编译技术概述 第一章 引 论 翻译器:把一种语言变换到另外一种语言的软件。这两种语言分别称为源语言和目标语言。 编译器:一种翻译器,它的目标语言比源语言低级。 编译器处理的对象:编程语言 编程语言演义 编程语言 机器语言 汇编语言 高级语言(Fortran, C, Java, …) 编程语言演义 机器语言特点 0,1串 打卡输入 c7 06 0000 0002 mov x, c 其中符号x的地址是0000,c=2 计算机可以直接理解机器语言程序 机器语言缺点 可读性差 可维护性差 编程语言演义 汇编语言形式 mov x,2 c7 06 0000 0002 变量x的地址可以由汇编器维护,而不需要固定到某个绝对地址 编程语言演义 高级语言形式 赋值语句:x=2 贴近人类思维方式,贴近实际问题描述形式 计算机无法直接理解 需要编译器辅助,将其转换为机器语言形式 编译器功能 完成从源语言到目标语言的转换 源语言:通常是高级语言(C,Java,…) 目标语言:汇编语言,或者其他形式的低级语言(如Java字节码) 编译器实现技术已经发展成熟,并且划分为功能相对明确的多个功能模块 第一章 引 论 编译器从逻辑上可以分成若干阶段,每个阶段把源程序从一种表示变换成另一种表示 第一章 引 论 FORTRAN (FORmula TRANslation) 第一个实用的高级语言 擅长于数学函数运算 常用于科学计算中 第一个编译器 历史上第一个实用的编译器(John Backus): Fortran compiler for the IBM 704/709/7090/7094 John Backus,引入了编译器的“阶段”或称为“遍”的概念,是编译设计的模块化的开始 第一章 引 论 第一章 引 论 任何一个标识符都是表达式; 任何一个数都是表达式; 如果e1和e2都是表达式,那么 ? e1 + e2 ? e1 * e2 ? (e1) 也都是表达式 第一章 引 论 第一章 引 论 第一章 引 论 第一章 引 论 第一章 引 论 第一章 引 论 第一章 引 论 第一章 引 论 第一章 引 论 第一章 引 论 第一章 引 论 第一章 引 论 第一章 引 论 第一章 引 论 第一章 引 论 第一章 引 论 小结 编译原理的内容及学习意义 翻译器、编译器的定义 编译器的阶段划分及前端、后端的概念 “遍” 的概念 编译系统 通常成
文档评论(0)