编译器的目的是将高级程序设计语言翻译成与之等价的低级程序设计语言,《编译原理》课程将介绍这个翻译过程中所涉及的词法分析、语法分析、语义分析、中间代码优化和目标代码生成五个步骤。本课程是一门理论知识比较抽象,实践性又很强的专业课。本课程的主要任务是使学生掌握编译程序的逻辑结构和原理;了解计算机语言的形式定义,以及从高级语言到低级语言的转换,并掌握实现这种转换的理论和基本技术。学生通过本课程的学习将了解编译程序的基本结构,掌握每个阶段的主要任务,理解五个阶段之间的关系。学生需要学习并掌握编译程序的相关理论及实现技术,主要包括形式语言、文法、有限自动机、无环有向图、词法分析、语法分析、语义分析及中间代码生成,优化及目标代码生成。同时,本课程还配以相应的实践环节,使学生掌握词法分析器、语法分析器、中间代码生成器的原理和实现技术,进而编写相关编译器软件。
第1章 编译程序基本概念
1.1 什么是编译程序?
1.2 编译过程实例分析
第1章测验
第2章 形式语言基础
2.2 形式语言是由文法定义的
2.3 各种语法成分的定义
2.4 文法的等价变换
2.1 形式语言是符号串集合
第2章测验
第3章 自动机基础
3.4 有限自动机的实现
3.5 正规语言描述方法间的相互转换
3.2 有限自动机的定义与分类
3.3 有限自动机的等价转换
3.1 正规语言及其描述方法
第3章测验
第4章 词法分析
4.2 词法分析程序的设计
4.1 词法分析的基本概念
第4章测验
实验1 词法分析器(扫描器)的设计
第 5 章 语法分析
5.2 递归子程序法
5.6 LR()分析法基本概念
5.8 SLR(1)分析器设计
5.5 LL(1)分析器的设计
5.3 LL(1)文法
5.4 LL(1)分析法
5.1 语法分析的基本概念
5.7 LR(0)分析器设计
第5章测验
第 6 章 中间代码及其翻译
6.2 属性文法
6.4 语法制导翻译器的实现
6.1 中间代码的设计
6.3 语法制导翻译技术
第6章测验
实验2 中间代码生成器的设计

