《编译技术实验》课程教学大纲.docx
PAGE4
ADDINCNKISM.UserStyle《编译技术实验》课程教学大纲
(实验课程)
一、课程基本信息
课程号
3023S06012
开课单位
国际学院
课程名称
(中文)编译技术实验
(英文)CompilingTechniquesLab
课程性质
选修
考核类型
考查
课程学分
1
课程学时
34
课程类别
专业发展课程(专业拓展课)
适用专业(类)
软件工程
二、课程描述及目标
(一)课程简介
《编译技术实验》是配合《编译技术》理论课开设的实验课程。实验内容包括词法分析程序、语法分析程序、语义处理程序等。学生通过本实验课程所安排的具体实验任务训练,可以深入理解编译器工作的基本理论及方法,培养分析、设计、实现和维护编译程序等方面的能力。
(二)教学目标
通过编译技术实验项目的实践操作,学生能够加深对编译原理理论及方法的理解,获得分析、设计、实现和维护编译程序等方面的能力。
课程目标1:理解编译器设计相关的理论基础知识
课程目标2:掌握编译器各个组成部分的基本原理和实现技术
课程目标3:了解一些编译器生成工具的基础理论和应用方法。
三、课程目标对毕业要求的支撑关系
毕业要求指标点
课程目标
1-1:软件工程基础理论知识;
课程目标1
1-2:软件项目管理与开发知识;
课程目标2
2-2:工程实践能力;3-2:创新意识;3-3:职业素养;3-4:专业素养
课程目标3
四、教学方式与方法
教学方式:学生动手实验为主,辅以适当的提问、小组讨论及实验点评等。
教学方法:探讨式教学、启发式教学、实验教学相结合;尝试包括实验设计、研究设计、答辩、总结等环节的教学。
五、教学重点与难点
(一)教学重点
理解词法分析、语法分析、语义分析和中间代码生成等编译过程的基本原理,学会使用相应工具进行编译器设计的基本能力,印证理论课中所讲授的理论知识。
(二)教学难点
词法分析、语法分析中具体算法的实现。
六、实验内容、基本要求与学时分配
序号
实验项目名称
实验内容与要求
学时
类型
对应课程目标
1
C_minus语言词法分析器的设计
通过编写C_minus的词法分析程序,了解词法分析的原理及手工编程实现技术。
8
综合性
课程目标1
课程目标2
课程目标3
2
扫描程序生成器LEX
掌握扫描程序生成器LEX的功能和使用方法,应用LEX构造词法分析程序,完成指定的词法分析任务。
4
验证性
课程目标2
课程目标3
2
递归下降分析器的设计
使用递归子程序法设计一个语法分析程序,理解自顶向下分析方法的原理,掌握手工编写语法分析程序的方法。
8
综合性
课程目标1
课程目标2
课程目标3
4
算符优先分析法分析器的设计
设计一个算符优先分析器,理解优先分析方法的原理,掌握算符分析的算法流程和使用场合。
10
综合性
课程目标1
课程目标2
课程目标3
5
分析程序生成器YACC的使用
了解分析程序生成器YACC的功能和使用方法,学会使用YACC与LEX相配合,构造实用语法分析程序。
4
验证性
课程目标2
课程目标3
合计
34
七、学业评价和课程考核
(一)考核类型:?考试eq\o\ac(□,√)考查
(二)考核方式:eq\o\ac(□,√)实验报告?实验作品
?其它:(填写具体考核方式)
(三)成绩评定:
考核
依据
建议分值
(百分比)
考核/评价细则
对应课程目标
过程
考核
100%
课堂
表现
20%
是否旷课,迟到,早退;能否积极主动提问、讨论、查阅课程相关的各种资料。
课程目标1-3
实验
结果
40%
每个实验的结果是否满足要求,代码编写是否正确、完整,结果分析是否合理。
课程目标2-3
实验
报告
40%
是否按时提交实验报告,报告内容是否完整、准确,撰写是否符合规范要求。
课程目标1-3
期末
考核
八、课程目标达成评价
课程目标的实际达成效果计算方式如下,达成值越高,教学效果越好。
课程目标达成度
毕业要求指标点达成度
九、教材与教学参考书
(一)教材
《编译原理(英文版·第2版)》,AlfredV.Aho,机械工业出版社,2011,第2版;
《编译原理(中文版第2版)》,(美)阿霍等,机械工业出版社,2022,第2版。
(二)教学参考书
《编译原理(第3版)》,AlfredV.Aho等,机械工业出版社,2015,第3版;
《编译原理》,何炎祥等,机械工业出版社,2018;
《编译原理及实践》,KennethC.Louden,机械工业出版社,2018;
《程序设计语言编译原理(第5版)》,陈火旺,国防工业出版社,2017,第5版。
(三)参考资料
《编译原理》慕课,中国大学MOOC。