编译原理(2026年春 更新)
编译原理(2026年春 更新)
1000+ 人选课
更新日期:2026/05/27
开课平台学银在线
开课高校山东财经大学
开课教师李秀媛李防震
学科专业工学计算机类
开课时间2026/03/09 - 2026/07/12
课程周期18 周
开课状态开课中
每周学时-
课程简介

这门课会讲什么?

新工科建设对计算机专业的工程应用型人才的要求是具有较扎实的基础理论、专业知识和基本技能,具有良好的可持续发展能力,所以在课程教学方面,着力培养学生的系统能力,以及理论结合实际的能力。

编译原理是计算机科学与技术专业的专业基础课,既有便于抽象的问题,又有较成熟的理论。除了相应的专业知识,其中的一些基本的问题求解方法、处理问题的思路也非常重要,而且被广泛用于一些新的研究领域。正如Alfred V. Aho在《编译原理》的开篇中写道“编写编译器的原理和技术具有十分普遍的意义,以至于每个计算机科学家的研究生涯中,本书的原理和技术都会被反复用到”。

编译原理中的基本概念、基本理论、基本方法等内容比较成熟、理论性强,要求学生能在理解的基础上掌握。该课程也需要教学手段能进行改革,充分利用教育信息化发展的优势。大规模网络开放课程MOOC作为一种新的教学模式,打破了传统教学在时空上的局限,易于拓宽学生的知识面,使学业评价更加公开、公平、公正,更有利于学生自主学习和推广研究性学习。

从总体上来说,该课程的内容,对于培养学生的计算思维,算法设计与分析,计算机系统的认知开发和利用,都非常重要。采用MOOC教学能降低学习难度、提升学习兴趣、评价结果科学,充分体会到本课程对学科发展的重要性。


你将收获什么?

1、 掌握编译程序的基本原理、方法和实现技术;

2、 体会计算机问题求解的基本思想和方法;

3、提升解决复杂工程问题相关的非技术能力和素质。


适合什么人学习?

本课程主要适合全国高等院校计算机类专业本科生学习,如计算机科学与技术专业、软件工程专业、网络工程专业等。

课程大纲

课程章节

  • 编译引论
  • 语言及其文法
  • 词法分析
  • 自顶向下语法分析
  • 自底向上语法分析
  • 语法制导的语义分析
  • 语义分析和中间代码生成
  • 符号表管理
  • 运行时的存储组织
  • 代码优化
  • 代码生成

编译引论

1.1 编译原理课程简介

1.2 编译的主要阶段

1.3 教学文档:编译引论

1.4 知识拓展

语言及其文法

2.1 语言及其文法概述

2.2 字母表及符号串

2.3 文法定义及分类

2.4 语法树

2.5 文法实际使用的限制

2.6 教学文档:知识概要

2.7 思维拓广:方法论

词法分析

3.1 词法分析概述

3.2 单词的描述方法

3.3 单词的识别方法

3.4 教学文档:词法分析

3.5 教学文档:第3章 串讲

自顶向下语法分析

4.1 自顶向下语法分析思想

4.2 LL(1)文法判定

4.3 非LL(1)文法改造

4.4 LL(1)分析实现

4.5 教学文档:自顶向下的语法分析

4.6 教学文档:第4章 串讲

4.7 难题解析

4.8 章节测验

自底向上语法分析

5.1 LR分析概述

5.2 LR(0)分析

5.3 LR(1)分析

5.4 教学文档:自底向上语法分析

5.5 教学文档:第5章 串讲

5.6 难题解析

5.7 章节测验

语法制导的语义分析

6.1 语法制导翻译概述

6.2 基于属性文法的语义计算

6.3 基于翻译模式的语义计算

6.4 教学文档:语法制导的语义计算

6.5 教学文档:第6章 串讲

语义分析和中间代码生成

7.1 中间代码的形式

7.2 声明语句的翻译

7.3 赋值语句的翻译

7.4 布尔表达式的翻译

7.5 控制语句的翻译

7.6 语法制导语义分析举例

7.7 教学文档:语义分析和中间代码生成

7.8 教学文档:第7章 串讲

符号表管理

8.1 符号表的作用和内容

8.2 符号表的作用域及可见性

8.3 教学文档:符号表管理

8.4 教学文档:第8章 串讲

运行时的存储组织

9.1 运行时存储组织概述

9.2 栈式存储分配

9.3 教学文档:运行时存储组织

代码优化

10.1 基本块、流图和循环

10.2 控制流分析

10.3 代码优化技术

10.4 教学文档:代码优化

10.5 9-10章节测验

代码生成

11.1 代码生成要考虑的内容

11.2 一个简单的代码生成算法

11.3 寄存器分配和图着色算法

App 下载
关注我们