【特价活动】只需50元,9000多门课程,一次性发放百度网盘链接!!
【单门经典课程=1个学币=15元】||【单门精品课程=1个学币=20元】 || 【vip会员=50元=可每天下载一门课】海量课程任你免费下载!在线自助开通,永久下载!!(点击查看) 课程名称: 中科大编译技术及原理 50讲 陈意云主讲
免费试看: 参考资料: 课程目录: 第1章 引论(2学时) 通过简要描述编译器的各个组成部分以及编译器技术的各种应用来介绍编译这个课题。 1.1编译器概述(1.5学时) 1.2 编译器技术的应用(0.5学时) 第2章 词法分析(5学时) 重点围绕词法分析器的自动生成展开,先介绍与之有关的正规式和有限自动机概念,然后介绍词法分析器的自动生成方法,最后介绍一个词法分析器自动生成工具Lex。 2.1 词法记号及属性(0.5学时) 2.2 词法记号的描述与识别(1.5学时) 2.3 有限自动机(2学时) 2.4 从正规式到有限自动机(0.5学时) 2.5 词法分析器的生成器(0.5学时) 第3章 语法分析(10学时) 阐述编译器采用的典型语法分析方法。首先提出有关上下文无关文法的基本概念,然后介绍适合于手工实现的预测分析技术,最后给出语法分析器自动工具使用的LR分析算法。本章还扩展所介绍的分析方法,使之能从常见的错误中恢复过来。 3.1 上下文无关文法(1学时) 3.2 语言和文法(2学时) 3.3 自上而下分析(2学时) 3.4 自下而上分析(0.5学时) 3.5 LR分析器(3学时) 3.6 二义文法的应用(1学时) 3.7 语法分析器的生成器(0.5学时) 第4章 语法制导的翻译(6学时) 讨论语义规则和产生式相联系的两种方式:语法制导的定义和语法制导的翻译方案,还讨论它们的实现方法。 4.1 语法制导的定义(1学时) 4.2 S属性定义的自下而上计算(2学时) 4.3 L属性定义的自上而下计算(2学时) 4.4 L属性的自下而上计算(1学时) 第5章 类型检查(6学时) 以类型检查为代表,介绍编译器的静态检查工作。主要介绍简单类型系统的设计、多态类型概念、类型表达式的等价和算符的重载。 5.1 类型在编程语言中的作用(1学时) 5.2 描述类型系统的语言(0.5学时) 5.3 一个简单类型检查器的规范(1学时) 5.4 多态函数(2学时) 5.5 类型表达式的等价(0.5学时) 5.6 函数和算符的重载(1 学时) 第6章 运行时存储空间的组织和管理(6学时) 在考虑代码生成之前,需要讨论静态的程序正文和运行时的过程活动之间的联系,考察静态的名字和运行时数据对象之间的绑定关系。不仅要讨论一个活动记录中的数据安排,还要讨论程序执行过程中,所有存活过程活动的活动记录的组织方式。 6.1 局部存储分配(1.5学时) 6.2 全局栈式存储分配(3学时) 6.3 非局部名字的访问(1学时) 6.4 参数传递(0.5学时) 第7章 中间代码生成(5学时) 介绍几种常用的中间表示,并用语法制导定义方法来描述编程语言的构造怎样被翻译成独立于机器的中间表示。 7.1 中间语言(1学时) 7.2 声明语句(1学时) 7.3 赋值语句(1学时) 7.4 布尔表达式和控制流语句(2学时) 第8章 代码生成(3学时) 基于一种简单的机器模型,介绍一种简单的代码生成算法。 8.1 代码生成器设计中的问题(0.5学时) 8.2 目标语言(0.5学时) 8.3 基本块和流图(1学时) 8.4 一个简单的代码生成器(1学时) 第9章 独立于机器的优化(12学时) 先通过一个简单的实例来了解代码优化;然后介绍数据流分析,它包括几类重要的全局收集且随后用于代码改进变换的信息。进一步介绍数据流分析框架的一般思想,并基于此框架来介绍常量传播和部分冗余删除优化,最后讨论程序中循环的发现和分析。 9.1 优化的主要种类(2学时) 9.2 数据流分析介绍(2学时) 9.3 数据流分析的基础(2学时) 9.4 常量传播(2学时) 9.5 部分冗余删除(2学时) 9.6 流图中的循环(2学时) 第10章 编译系统和运行系统(3学时) 介绍编译器的伙伴程序,它们包括预处理器、汇编器和连接器等工具;还介绍Java的运行系统。 10.1 C语言的编译系统(2学时) 10.2 Java语言的运行系统(1学时) 第11章 面向对象语言的编译(2学时) 回顾面向对象语言的一些重要概念,概述它们的实现技术。为突出一些重要概念的实现技术,本章以C++语言为例,介绍如何将C++程序翻译成C程序。 11.1 面向对象语言的概念(0.5学时) 11.2 方法的编译(0.5学时) 11.3 继承的编译方案(1学时) 下载地址: |