《编译原理》课程是计算机科学与技术专业的必修课程。本课程主要介绍程序设计语言编译程序构造的基本原理和设计方法,包括:编译程序概述、高级语言及其语法描述、词法分析、语法分析、属性文法和语法制导翻译、语义分析和中间代码产生、符号表、运行时存储空间组织、优化、目标代码生成等。
理论和实践相结合是编译程序设计的重要特色。形式语言和自动机理论为编译程序的设计提供了坚实的理论基础,正是在科学理论的保证下,才形成了一系列先进的编译程序设计方法和工具,使得编译程序的构造具有很高的系统性和自动化程度。
本课程2007年被评为国家精品课程,2016年被评为国家精品资源共享课程,2020年被评为国家级一流本科课程(线上课程)。
通这门课程的学习,您将能:
1. 在理解编译系统的结构、工作流程以及编译程序各组成部分的设计原理和实现技术的基础上,获得分析、设计、实现和维护编译系统的初步能力。
2. 深入理解程序语言和程序执行过程,提高对计算机系统的总体认识。
3. 从语言翻译和表示变换的角度理解计算。编译过程体现的诸如抽象、自动化、递归、分解、权衡等众多计算思维方法,可以广泛应用于自然语言处理、程序验证、网络信息处理等领域的问题求解。
具备计算机程序设计语言和程序设计知识,对数据结构与算法、计算机原理、离散数学等相关知识有一定了解更好。
课程考核评价达到“合格”(达到60分)或"优秀"(达到85分),可申请“认证证书”。
陈火旺、刘春林等,《程序设计语言编译原理》,国防工业出版社,第三版,2000年
Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman. Compilers: Principles, Techniques and Tools (Second Edition). Pearson Education, Inc. 2006