编译原理是高等工科院校面向计算机相关专业大三学生开设的专业核心必修课。所含内容既有便于抽象的问题,也有较成熟的理论,涉及学科抽象、理论、设计三个形态。课程使用形式化的巴科斯范式描述程序设计语言,涉及的概念多,算法抽象,不易理解;同时,本课程注重计算思维的培养,强调理论指导下的工程实践。
通过学习该课程,使学生了解形式语言基本概念和术语,掌握词法分析、语法分析和语义分析与中间代码生成技术的基本原理和实现方法。通过将“抽象、自动化、形式化、转化、约简、递归、嵌入、分解、仿真和容错”等计算思维与“形式语言基本理论、词法分析、语法分析、和语义分析与中间代码生成”等内容进行对应,帮助学生更好地从计算思维的角度去理解和分析编译的理论和技术。
通过学习编译程序的构造原理和技术,不仅有助于深刻理解和正确使用程序设计语言,更可以培养计算机学科乃至其他学科解决问题的思维和方法(即如何形式化地描述问题,以及如何通过演绎和归纳来设计解决方案)。这些思维和方法对于应用软件、系统软件以及人工智能的设计与开发具有重要的启示意义,为从事计算机相关行业打下基本的理论和工程实践基础。