SPOC学校专有课程
编译原理
分享
spContent=《编译原理》一直是国内外高校计算机和软件工程相关专业的核心基础课程,主要讲授程序设计语言编译程序构造的一般原理、基本设计方法和主要实现技术,这些原理和技术不仅应用于编译程序的设计,也广泛应用于一般软件的设计和实现中,对提升专业素质具有重要作用。
—— 课程团队
课程概述

编译系统在计算机科学与技术的发展历史中发挥了巨大作用,是计算机系统的核心支撑软件。《编译原理》课程一直是国内外大学计算机相关专业的重要课程。其主要内容贯穿程序语言、系统环境及其体系结构,能以相对独立的视角体现从软件到硬件,以及软硬件协同的整机概念,同时,其理论基础又涉及形式语言与自动机、数据结构与算法设计等计算机科学的许多重要方面,因此编译系统是联系计算机科学和计算机系统的典范。

《编译原理》课程是理论性很强、实践性也很强的课程,课程建设团队在有限的学时内,根据课程容量和学生特点,选择适当的知识为载体,不仅介绍典型问题求解方法和技术,更注重计算学科问题求解基本思路的探讨。总体上,要求学生掌握“编译原理”中的基本概念、理论和方法,在系统级上再认识程序和算法,提升计算机问题求解的水平,增强系统能力,提高计算机学科职业素质。

授课目标

通过本课程的学习,达到的教学目标如下:

(1)掌握扎实的编译原理专业知识,包括:形式语言与自动机、词法分析、自顶向下和自底向上的语法分析、属性文法和语法制导翻译方法、符号表的组织与管理、目标程序运行时的存储组织、代码优化技术和目标代码生成技术等,并领会编译原理在计算机学科中的重要地位。

(2)掌握编译程序工作的基本结构及其各阶段的主要任务、编译程序的自动生成过程和构造工具,掌握词法分析器、语法语义分析器设计的原理、方法和技术,能利用程序设计语言和开发工具设计并实现一个简单的编译器。同时将视角从“程序级”提高到“系统级”,在提升系统软件开发实践能力的同时,培养以计算机系统全局角度正确认识问题、分析问题和解决问题的能力。

(3)在学习了编译程序构造的一般原理、基本设计方法和主要实现技术基础上,以国产开源编译器为案例(如华为毕昇编译器)了解主流编译器生态、技术架构和未来趋势,培养自主学习能力和精益求精的大国工匠精神。

(4)综合应用所学编译方法和技术解决一些计算机软件领域的具体问题,并激发学生科技报国的家国情怀和使命担当。

成绩要求

课程成绩=线上综合成绩*30%+闭卷笔试成绩*60%+实验成绩*10%

课程大纲
预备知识

高级语言程序设计、离散数学、数据结构

参考资料

推荐教材:

编译原理.王生原、董渊、张素琴,吕映芝等.北京:清华大学出版社,ISBN: 9787302381419,第3

参考书:

【1】 Compiler Construction Principles and PracticeKenneth C. Louden,北京:机械工业出版社,ISBN: 9787111108429

【2】 程序设计语言编译原理,陈火旺等,北京:国防工业出版社,ISBN9787118022070,第3

【3】 编译技术,张莉、史晓华、杨海燕、金茂忠,北京:高等教育出版社,ISBN9787040463170,第1

【4】 编译原理,陈意云 张昱,北京:高等教育出版社,ISBN9787040404913,第3