编译器的目的是将高级程序设计语言翻译成与之等价的低级程序设计语言,《编译原理》课程将介绍这个翻译过程中所涉及的词法分析、语法分析、语义分析、中间代码优化和目标代码生成五个步骤。本课程是一门理论知识比较抽象,实践性又很强的专业课。本课程的主要任务是使学生掌握编译程序的逻辑结构和原理;了解计算机语言的形式定义,以及从高级语言到低级语言的转换,并掌握实现这种转换的理论和基本技术。学生通过本课程的学习将了解编译程序的基本结构,掌握每个阶段的主要任务,理解五个阶段之间的关系。学生需要学习并掌握编译程序的相关理论及实现技术,主要包括形式语言、文法、有限自动机、无环有向图、词法分析、语法分析、语义分析及中间代码生成,优化及目标代码生成。同时,本课程还配以相应的实践环节,使学生掌握词法分析器、语法分析器、中间代码生成器的原理和实现技术,进而编写相关编译器软件。
使学生了解编译器执行过程所涉及的五个阶段,掌握将高级程序设计语言翻译成低级程序设计语言所需的算法,进一步了解编译器的执行过程,为编写高效程序做依据,为将来实现编译器打下基础。
第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 中间代码生成器的设计
了解集合的概念;了解数据结构中栈、树和图的概念;了解寄存器的概念;了解二维表格;掌握一门高级程序设计语言的写法;了解汇编指令的写法。
为积极响应国家低碳环保政策, 2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。
电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,或者访问 https://www.icourse163.org/verify,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。
完成课程教学内容学习和考核,成绩达到课程考核标准的学生(每门课程的考核标准不同,详见课程内的评分标准),具备申请认证证书资格,可在证书申请开放期间(以申请页面显示的时间为准),完成在线付费申请。
认证证书申请注意事项:
1. 根据国家相关法律法规要求,认证证书申请时要求进行实名认证,请保证所提交的实名认证信息真实完整有效。
2. 完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。
英文版:(美)Kenneth C. Louden著,《编译原理与实践》(英文版),机械工业出版社,2002-8。
中文版:冯博琴等译,《编译原理与实践》,机械工业出版社,2002-2。
胡伦骏等:《编译原理》(第2版),电子工业出版社 , 2005-7。