编译原理

该课程主要讲授编译器设计与实现的主要理论和技术。

8202 次查看
中国科技大学
网易云课堂
  • 完成时间大约为 10
  • 中级
  • 中文
注:因开课平台的各种因素变化,以上开课日期仅供参考

课程概况

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

课程大纲

第一章:编译概述
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语言》《数据结构》
以下课程不是必须的,但有相应基础更好:《算法》《离散数学》

参考资料

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

千万首歌曲。全无广告干扰。
此外,您还能在所有设备上欣赏您的整个音乐资料库。免费畅听 3 个月,之后每月只需 ¥10.00。
Apple 广告
声明: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
  • (部分课程由Coursera、Udemy、Linkshare共同提供)

© 2008-2022 CMOOC.COM 慕课改变你,你改变世界