编译原理

该课程主要讲授编译器设计与实现中所涉及的主要理论和技术。主要内容包括词法分析、语法分析、语法树构建、语义分析、…

中国科技大学

分享

编译原理
  • 分类: 计算机
  • 平台: 网易云课堂
  • 语言: 中文

该课程主要讲授编译器设计与实现中所涉及的主要理论和技术。主要内容包括词法分析、语法分析、语法树构建、语义分析、中间代码生成、代码优化、目标代码生成等主要内容。该课程主要面向计算机专业相关学生、对计算机感兴趣的学生、及相关技术的从业人员等。

课程概述

特色:注重基础、循序渐进、实践导向
受众:计算机专业学生、对计算机专业感兴趣的学生、相关技术从业人员

授课大纲

第一章:编译概述
1.1 编译器历史
1.2 编译器主要结构
1.3 前后端划分及功能

第二章:词法分析
2.1 单词与记号
2.2 正则表达式
2.3 有限自动机
2.4 从正则表达式到有限自动机的转换
2.5 词法分析器的实现

第三章:语法分析
3.1 上下文无关文法
3.2 递归下降分析
3.3 LR分析
3.4 错误处理
3.5 语法分析器自动生成

第四章:类型检查
4.1 类型系统
4.2 属性文法
4.3 语法制导翻译
4.4 符号表管理

第五章:中间表示
5.1 抽象语法树
5.2 线性中间表示
5.3 图中间表示

第六章:中间代码生成
6.1 变量地址分配
6.2 算术表达式翻译
6.3 布尔表达式翻译
6.4 数组、结构体和字符串的翻译
6.5 控制流的翻译
6.6 函数调用的翻译

第七章:目标代码生成
7.1 目标体系结构
7.2 树匹配代码生成
7.3 基于动态规划的代码生成
7.4 寄存器分配
7.5 指令调度

第八章:代码优化
8.1 控制流分析
8.2 数据流分析
8.3 死代码删除
8.4 常量传播
8.5 拷贝传播
8.6 静态单赋值形式

证书要求

证书规则将在开课前发布。

预备知识

《数据结构》

参考资料

《现代编译器实现—C语言描述》
《编译原理:技术与工具》
《编译器工程》
《高级编译器设计与实现》

声明:MOOC中国收录之课程均源自下列机构,版权均归他们所有。本站仅作报道并尊重其著作权益,感谢他们对MOOC事业做出的贡献!(排名不分先后)
  • Coursera
  • edX
  • OpenLearning
  • FutureLearn
  • iversity
  • Udacity
  • NovoEd
  • Canvas
  • Open2Study
  • Google
  • ewant
  • FUN
  • IOC-Athlete-MOOC
  • World-Science-U
  • Codecademy
  • CourseSites
  • opencourseworld
  • ShareCourse
  • gacco
  • MiriadaX
  • JANUX
  • openhpi
  • Stanford-Open-Edx
  • 网易云课堂
  • 中国大学MOOC
  • 学堂在线
  • 顶你学堂
  • 华文慕课
  • 好大学在线CnMooc

Copyright © 2008-2015 MOOC.CN 慕课改变你,你改变世界