《编译原理》教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《编译原理》教学大纲
适用专业:软件工程专业
总学时:(讲授/理论40学时,实验/技术/技能0学时,上机/课外实践0学时)
先修课程:《C语言程序设计》、《离散数学》、《汇编语言程序设计》、《数据结构》
(一)本课程地位、性质和任务
《编译原理》课程是计算机专业学生的一门重要专业基础课,通过本课程学习,使学生掌握编译程序的一般构造原理,包括语言基础知识、词法分析程序设计原理和构造方法。各种语法分析技术和中间代码生成符号表的构造、代码优化、并行编译技术常识及运行时存储空间的组织等基本方法和主要实现技术。使学生掌握编译程序构造的基本原理、设计方法和实现技术,具有设计、实现、分析和维护编译程序德方面的基本技能,为今后从事应用软件和系统软件的开发打下一定的理论和实践基础。它有一定的理论性,尤其是本课程的知识与计算机应用中很多领域有紧密联系与广泛应用。了解与掌握本课程的基本内容将有利于学生提高专业素质和适应社会多方面需要的能力。
培养学生掌握构造编译程序的基本原理与设计方法,为培养计算机语言与大型应用程序的开发人才打下良好的基础。
(二)课程教学的主要内容及基本要求
第1章概述
1.1程序设计语言与编译程序
1.2编译过程和编译程序的结构
1.3编译程序的设计
1.4编译程序的发展及应用
第2章高级语言设计基础
2.1符号和符号串
2.2文法与语言
2.3高级语言的设计
2.4语言设计实例
第3章词法分析
3.1词法分析的任务和功能
3.2词法分析器的设计
3.3正规文法、正规式与有穷自动机
3.4词法分析程序的自动生成
第4章语法分析
4.1语法分析概述
4.2自上而下的语法分析
4.3自下而上的语法分析
4.4语法分析器的自动生成工具YACC
4.5语法分析程序中的错误处理
第5章语义分析和中间代码生成
5.1概述
5.2属性文法和语法制导的翻译
5.3常见语句的语法制导的翻译
5.4Sample语言语法制导的翻译程序的设计
第6章运行时存储空间的组织
6.1程序执行时的活动
6.2程序执行时的存储器组织
6.3静态存储分配
6.4栈式存储分配策略
6.5堆式存储分配
第7章代码优化
7.1概述
7.2局部优化
7.3循环优化
第8章目标代码生成
8.1概述
8.2目标机器
8.3简单的代码生成算法
8.4从DAG生成目标代码
8.5Sample代码优化及目标代码生成器的设计
本课程的教学大纲是按编译程序的设计流程顺序展开的。着重研究了编译程序的设计原理和方法。本课程的基本要求是:
(1)熟悉编译程序的功能及编译程序的工作过程。
(2)掌握词法分析程序的设计原理和构造方法。
(3)熟练地掌握各种语法分析程序的设计技术。
(4)基本掌握常见语法成份翻译成中间代码的方法。
(5)了解静态和动态存储分配技术及实现局部优化、循环优化的基本思想和方法。
具有实现编译程序的初步能力。
(三)教学环节及学时分配
教学环节说明:本课程总学时为36学时,教学环节包括讲课,其学时分配见表。
(四)选用教材及参考书目
1、《编译原理及实践教程(第2版)》,黄贤英、曹琼、王柯柯,清华大学出版社,2012.03
2、参考教材:
《编译原理及实现》. 姜淑娟等.清华大学出版社
《编译原理及编译程序构造》. 张莉等.清华大学出版社
《编译原理》. 毛红梅、严云洋 .清华大学出版社
(五)考核方式及成绩构成
本课程为考查课程,考核采用闭卷形式或者完成论文方式。在总成绩中,
平时成绩占30%,考试成绩占70%。
(六)说明:
本大纲编写参照软件工程专业软件开发方向培养方案制定。编制人:审核人:审核时间: