SPOC学校专有课程
2021春 编译原理(陈鄞)
分享
spContent=
—— 课程团队
课程概述

       同学们可能都有过使用高级程序设计语言编写程序的经历。当我们给计算机输入一段程序以后,计算机就可以按照我们的意图去工作。我们都知道,由0和1构成的机器代码才是可以被计算机直接理解的语言。因此,用高级语言编写的程序,最终都要“翻译”成由0和1构成的机器代码才可以在计算机上执行,这一翻译过程,就称为编译。那么,计算机是如何将高级程序设计语言编写的程序自动翻译成机器代码的呢?通过这么课程的学习,我们就可以找到答案。

世界著名的计算机科学家Alfred V.Aho在他的经典著作《编译器》的第1章第1句话写道:“编写编译器的原理和技术具有十分普遍的意义,以至于在每个计算机科学家的研究生涯中,本课程中的原理和技术都会反复用到。”这句话点明了编译原理这门课程在计算机专业中的重要地位。

本课程共计20讲。

1 绪论

2 程序设计语言及其文法

3 词法分析

4讲 语法分析_1

5讲 语法分析_2

6 语法分析_3

7 语法分析_4

8 语法制导翻译_1

9 语法制导翻译_2

10 语法制导翻译_3

11 中间代码生成_1

12 中间代码生成_2

13 中间代码生成_3

14 中间代码生成_4

15 运行存储分配

16 代码优化_1

17 代码优化_2

18 代码优化_3

19 代码优化_4

20 代码生成

        通过本课程的学习,我们可以更深刻地理解高级语言程序的内部运行机制。事实上,每一种语言的语法都不是随便定义的,其背后有着深刻的道理。编译原理就是这样一门课程,它教给我们隐藏在编程技术后面的基本原理。掌握了这些基本原理,无论语言如何更新换代,我们都能应对自如,不被技术的发展所淘汰。

        这门课教给我们的不只是编译器构造的基本原理和流程,同时,还教给我们如何严谨地去思考、编写程序。通过本课程的学习,我们对编程也会有更深入的了解。对于代码应该怎么写,为什么要那么写,怎么写更好,错误是如何出现的,如果出错的后果是什么等等都能有理论到实践的全面认识。

        本课程非常有助于培养我们的计算思维能力。编译原理涉及了计算机科学求解问题的基本思路和方法,即问题的“形式化描述→自动化处理”。本课程涉及的理论和方法在自然语言处理、模式识别、人工智能等领域都会或多或少地被用到。


成绩要求

设置“合格”(达到60分)、"优秀"(达到85分)两档课程标准

课程大纲