编译原理
编译原理
1万+ 人选课
更新日期:2026/07/08
开课平台学堂在线
开课高校中南大学
开课教师陈志刚
学科专业工学计算机类
开课时间2026/02/04 - 2026/07/21
课程周期24 周
开课状态开课中
每周学时-
课程简介

本课程旨在系统地向学生讲述编译程序的结构及其各组成部分的设计原理与实现技术,使学生掌握编译程序的基本原理、方法和实现技术,更好的理解程序语言的内部机制、理解计算机软硬件系统的基本架构与工作原理,培养学生设计、实现和分析简单编译软件的能力,并能在思维素质方面得到拓展提高,进一步理解计算机学科中解决问题的思路方法。课程主要讲授:自动机与形式语言基础;词法分析;语法分析;语法制翻译与中间代码生成;中间代码优化等。


本课程2009年被评为国家精品课程,2013年被评为国家精品资源共享课程。


课程大纲
第一讲 绪论
1.1 课程简介
1.2 编译过程
1.3 高级程序语言简介
第二讲 程序语言概论
2.1 程序语言的定义
2.2 文法的形式化定义和分类
2.3 文法和语言
2.4 语法分析树
2.5 小结
第三讲 词法分析_1
3.1 词法分析概述
3.2.1 状态转换图
3.2.2 小结
3.3.1 正规式与正规集
3.3.2 确定有限自动机
3.3.3 非确定有限自动机
第四讲 词法分析_2
3.3.4 正规式和有限自动机的等价性
第五讲 词法分析_3
3.3.5 DFA的化简
第六讲 词法分析_4
3.4.1 词法分析器的自动生成
3.4.2 词法分析程序实现实例
3.4.3 小结
第七讲 语法分析--自上而下分析_1
4.1 语法分析简介
4.2 自顶向下分析简介
4.3.1 消除左递归和回溯
第八讲 语法分析--自上而下分析_2
4.3.2 LL(1)分析法的工作过程
4.3.3 FIRST集和FOLLOW集的构造
第九讲 语法分析--自上而下分析_3
4.3.4 LL(1)分析表的构造
4.4.1 递归子程序的原理
4.4.2 递归下降分析程序构造
第十讲 语法分析--自下而上分析_1
5.1.1 自下而上分析方法的基本思想
5.1.2 分析树与规范规约
5.1.3 符号栈的使用
第十一讲 语法分析--自下而上分析_2
5.2.1 算符优先文法
5.2.2 优先表构造
5.2.3 算符优先分析算法
第十二讲 语法分析--自下而上分析_3
5.3.1 LR分析器
5.3.2 LR分析过程(1)
5.3.2 LR分析过程(2)
第十三讲 语法分析--自下而上分析_4
5.3.3 构造识别活前缀的DFA
5.3.4 LR(0)项目集规范族构造
5.3.5 由DFA构造LR(0)分析表
第十四讲 语法分析--自下而上分析_5
5.3.6 SLR(1)分析法的思想
5.3.7 SLR(1)分析表的构造
5.3.8 二义文法的使用
第十五讲 属性文法和语法翻译制导_1
6.1 属性文法的定义
6.2 语法制导翻译
6.3属性文法的自上而下的计算
第十六讲 属性文法和语法翻译制导_2
6.4 属性文法和自顶向下翻译
6.5自下而上计算继承属性
6.6 小结
第十七讲 语义分析和中间代码生成_1
7.1 语义分析的任务
7.2 中间代码形式
7.3 算术表达式和赋值语句
第十八讲 语义分析和中间代码生成_2
7.4.1 布尔表达式的作用和文法描述
7.4.2 做控制用布尔表达式的翻译(回填)
7.5.1 控制流语句的翻译
7.5.2 控制流语句的翻译(回填)
第十九讲 代码优化_1
8.1 什么是代码优化
8.2 局部优化-基本块及流图
第二十讲 代码优化_2
8.3 局部优化-基本块DAG及应用(1)
8.3 局部优化-基本块DAG及应用(2)
App 下载
关注我们