编译系统在计算机科学与技术的发展历史中发挥了巨大作用,是计算机系统的核心支撑软件。《编译原理》课程一直是国内外大学计算机相关专业的重要课程。其主要内容贯穿程序语言、系统环境及其体系结构,能以相对独立的视角体现从软件到硬件,以及软硬件协同的整机概念,同时,其理论基础又涉及形式语言与自动机、数据结构与算法设计等计算机科学的许多重要方面,因此编译系统是联系计算机科学和计算机系统的典范。
《编译原理》课程是理论性很强、实践性也很强的课程,课程建设团队在有限的学时内,根据课程容量和学生特点,选择适当的知识为载体,不仅介绍典型问题求解方法和技术,更注重计算学科问题求解基本思路的探讨。总体上,要求学生掌握“编译原理”中的基本概念、理论和方法,在系统级上再认识程序和算法,提升计算机问题求解的水平,增强系统能力,提高计算机学科职业素质。
通过本课程的学习,达到的教学目标如下:
(1)掌握扎实的编译原理专业知识,包括:形式语言与自动机、词法分析、自顶向下和自底向上的语法分析、属性文法和语法制导翻译方法、符号表的组织与管理、目标程序运行时的存储组织、代码优化技术和目标代码生成技术等,并领会编译原理在计算机学科中的重要地位。
(2)掌握编译程序工作的基本结构及其各阶段的主要任务、编译程序的自动生成过程和构造工具,掌握词法分析器、语法语义分析器设计的原理、方法和技术,能利用程序设计语言和开发工具设计并实现一个简单的编译器。同时将视角从“程序级”提高到“系统级”,在提升系统软件开发实践能力的同时,培养以计算机系统全局角度正确认识问题、分析问题和解决问题的能力。
(3)在学习了编译程序构造的一般原理、基本设计方法和主要实现技术基础上,以国产开源编译器为案例(如华为毕昇编译器)了解主流编译器生态、技术架构和未来趋势,培养自主学习能力和精益求精的大国工匠精神。
(4)综合应用所学编译方法和技术解决一些计算机软件领域的具体问题,并激发学生科技报国的家国情怀和使命担当。
课程成绩=线上综合成绩*30%+闭卷笔试成绩*60%+实验成绩*10%
高级语言程序设计、离散数学、数据结构
推荐教材:
编译原理.王生原、董渊、张素琴,吕映芝等.北京:清华大学出版社,ISBN: 9787302381419,第3版
参考书:
【1】 Compiler Construction Principles and Practice,Kenneth C. Louden,北京:机械工业出版社,ISBN: 9787111108429
【2】 程序设计语言编译原理,陈火旺等,北京:国防工业出版社,ISBN:9787118022070,第3版
【3】 编译技术,张莉、史晓华、杨海燕、金茂忠,北京:高等教育出版社,ISBN:9787040463170,第1版
【4】 编译原理,陈意云 张昱,北京:高等教育出版社,ISBN:9787040404913,第3版