课程详情
课程评价
spContent=编译程序设计堪称计算机科学中理论和实践相结合的典范。在本课程中,您将学习编译程序构造的基本原理和设计方法,提高对计算机系统的总体认识,还可以从信息表示变换的角度理解计算、理解计算思维,拓广计算应用的视野。 欢迎大家参加编译原理课程,让我们在学习过程中,训练计算思维,享受计算之美!
—— 课程团队
课程概述



《编译原理》课程是计算机科学与技术专业的必修课程。本课程主要介绍程序设计语言编译程序构造的基本原理和设计方法,包括:编译程序概述、高级语言及其语法描述、词法分析、语法分析、属性文法和语法制导翻译、语义分析和中间代码产生、符号表、运行时存储空间组织、优化、目标代码生成等。

 

理论和实践相结合是编译程序设计的重要特色。形式语言和自动机理论为编译程序的设计提供了坚实的理论基础,正是在科学理论的保证下,才形成了一系列先进的编译程序设计方法和工具,使得编译程序的构造具有很高的系统性和自动化程度。

 

本课程2007年被评为国家精品课程,2016年被评为国家精品资源共享课程,2020年被评为国家级一流本科课程(线上课程)。

授课目标

通这门课程的学习,您将能:

1.      在理解编译系统的结构、工作流程以及编译程序各组成部分的设计原理和实现技术的基础上,获得分析、设计、实现和维护编译系统的初步能力。

2.      深入理解程序语言和程序执行过程,提高对计算机系统的总体认识。

3.      从语言翻译和表示变换的角度理解计算。编译过程体现的诸如抽象、自动化、递归、分解、权衡等众多计算思维方法,可以广泛应用于自然语言处理、程序验证、网络信息处理等领域的问题求解。

课程大纲
预备知识

具备计算机程序设计语言和程序设计知识,对数据结构与算法、计算机原理、离散数学等相关知识有一定了解更好。

参考资料

陈火旺、刘春林等,《程序设计语言编译原理》,国防工业出版社,第三版,2000

Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman. Compilers: Principles, Techniques and Tools (Second Edition). Pearson Education, Inc. 2006