编译原理是计算机科学与技术专业等相关专业的专业核心课程。主要讲授形式语言、词法分析、语法分析、语义分析、中间代码生成、符号表、代码优化等内容。本课程注重考核学生的问题分析与解决能力,通过完整的课程学习,能灵活运用编译原理中的各个知识点解决实际问题。
课程概述
编译原理是计算机科学与技术专业等相关专业的一门重要的专业核心课,是一门理论性和实践性比较强的课程,主要介绍程序设计语言编译程序构造的基本原理和实现方法。本课程主要讲授形式语言、词法分析、语法分析、语义分析、中间代码生成、符号表、代码优化等内容。通过本课程学习,使学生对编译的基本概念、原理和方法有完整和清楚地理解,并能正确熟练地运用编译知识解决实际问题。
课程大纲
- 第一章 编译程序概论
- 本章教学目标及重难点
- 第一节 编程语言与翻译系统
- 第二节 编译程序的工作过程
- 第三节 编译程序的逻辑结构
- 第二章 文法和语言
- 本章教学目标及重难点
- 第一节 符号和符号串
- 第二节 文法和语言的形式定义
- 第三节 文法的分类等
- 第三章 词法分析与有限自动机
- 本章教学目标及重难点
- 第一节 词法分析器的设计思想
- 第二节 词法分析器的设计
- 第三节 单词的描述工具
- 第四节 有限自动机
- 第1课时 有限自动机的定义
- 第2课时 NFA确定化
- 第3课时 DFA最小化
- 第五节 正规文法、正规式和有限自动机的等价性
- 第四章 自上而下语法分析方法
- 本章教学目标及重难点
- 第一节 自上而下分析的基本思想
- 第二节 左递归和回溯的消除
- 第三节 LL(1)分析法
- 第1课时 First集和Follow集的计算
- 第2课时 LL(1)文法的判定条件
- 第四节 预测分析方法
- 第五节 递归下降分析方法
- 第五章 自下而上语法分析方法
- 本章教学目标及重难点
- 第一节 自下而上分析的一般思想和面临的问题
- 第1课时 归约和“移进-归约”分析法
- 第2课时 短语、句柄和最左素短语
- 第3课时 自下而上分析的核心问题和分析方法
- 第二节 算符优先分析法
- 第1课时 算符文法和算符优先文法
- 第2课时 FIRSTVT 集和 LASTVT 集
- 第3课时 算符优先分析算法及其特点
- 第三节 LR 分析法
- 第1课时 LR 分析法的基本思想
- 第2课时 LR 分析器的工作过程
- 第3课时 LR(0)分析的基本概念
- 第4课时 LR(0)项目集规范族的构造
- 第5课时 LR(0)分析表的构造
- 第6课时 SLR(1)分析法
- 第7课时 LR(1)分析法
- 第8课时 LALR(1)分析法
- 第六章 语法制导翻译和语义分析
- 本章教学目标及重难点
- 第一节 属性文法与语法制导翻译
- 第二节 中间代码的表示
- 第三节 简单算术表达式及赋值语句的翻译
- 第四节 数组的翻译
- 第五节 布尔表达式的翻译
- 第七章 符号表
- 本章教学目标及重难点
- 第一节 符号表的作用与内容
- 第二节 符号表的构造
- 第八章 代码优化
- 本章教学目标及重难点
- 第一节 优化概述
- 第二节 局部优化
- 第三节 循环优化
- 教学大纲
- 教学进度表
- 测试卷一
- 测试卷二
授课目标
通过本课程学习,使学生掌握编译程序的构造原理,包括形式语言基础知识、词法分析程序设计原理和构造方法、各种语法分析技术和中间代码生成技术、符号表的构造、代码优化等基本方法和主要实现技术。
预备知识
离散数学,C语言程序设计,数据结构与算法,数据库原理,操作系统等
配套教材
-
编译原理
王一宾 陈义仁 著
中国科学技术大学出版社
参考教材
-
编译原理(第2版)
张素琴 著
清华大学出版社
-
编译原理
陈意云,张昱 著
高等教育出版社
5.0
|
共
2
条评价
|
本次开课
查看全部
|
5.0
|
共
5
条评价
|
本次开课
查看全部
|
1
课程结束后,还能继续学习课程内容吗?
这将根据课程团队的设置的课程结课设置而定,有的课程将在课程结束后关闭,有的课程允许已选课的用户查看课程内容及历史记录,也有课程可能会对未选课用户开放课程内容。对于结课后仍然开放的课程,在“我的课程”列表里,可以查看课程内容及学习记录。
2
这门课程是免费学习的吗?
本课程是开设在安徽省网络课程学习中心(e会学)平台上的课程,是免费学习的。
3
我可以重复选择同一门课程吗?
可以的,许多课程会多次开课,可以加入同一门课程的不同期次。在新的开课期次中,你需要从零开始完成相关的学习任务。
4
建议使用什么浏览器学习?
为了您顺利地进行课程学习,建议您将浏览器升级到最新版本。建议使用IE10及以上,火狐Firefox浏览器,及谷歌Chrome浏览器。
5
是否需要完成课程所有的作业?
如果你想要获得课程证书,你需要按照课程老师制定的课程大纲和考核标准完成相关作业;如果仅是为了扩充知识并不需要申请证书,可以根据自己的时间与需求自由安排学习计划。
6
如何申请课程证书?
课程团队会在‘考核标准’中公布获得证书的条件。课程公布考核标准并更新完毕后,你的最终总成绩达到条件即可获得证书。