《06410129编译技术大学高校课程教学大纲.docx》由会员分享,可在线阅读,更多相关《06410129编译技术大学高校课程教学大纲.docx(10页珍藏版)》请在优知文库上搜索。
1、编译技术(CompilerTechnology)课程代码:06410129学分:3.0学时:48(其中:课堂教学学时:40上机学时:8)先修课程:程序设计基础,汇编语言与微机原理,离散数学,数据结构,操作系统适用专业:计算机科学与技术教材:编译原理教程(第四版),胡元义编,西安电子科技大学出版社,2015年2月第4版开课学院:计算机科学与通信工程学院一、课程性质与课程目标(一)课程性质编译技术是一门理论性、实践性和技术性很强的课程,是计算机科学与技术专业的专业基础必修课。课程主要介绍了编译程序的构造原理及相关技术,使学生掌握编译程序的基本理论、设计思想和实现方法,培养学生的抽象思维、分析问题和
2、解决问题的能力,从而为今后从事应用软件和系统软件的开发打下一定的理论和实践基础。(二)课程目标课程目标1:掌握形式语言理论与编译程序密切相关的基础概念,主要包括文法和语言的形式定义。课程目标2:理解并掌握编译程序的工作过程和编译程序的结构。课程目标3:掌握词法分析程序的自动生成原理。课程目标4:掌握语法分析的基本原理。课程目标5:理解并掌握语法制导翻译及代码优化的过程。课程目标6:能够熟练使用一种程序开发工具。课程目标7:掌握词法分析程序的实现。课程目标8:掌握语法分析的实现方法。课程目标9:理解程序设计语言与编译程序的紧密联系。课程目标10:培养学生的逻辑思维能力。(三)课程目标与专业毕业要
3、求指标点的对应关系本课程支撑专业培养计划中毕业要求指标点3.1、3.2、3.21.毕业要求指标点3.1:具备对计算机领域复杂工程问题进行识别和有效分解的能力。2.毕业要求指标点3.2:具备对分解后的计算机领域复杂工程问题进行表达与建模的能力。3.毕业要求指标点3.3:能够对计算机领域复杂工程问题进行分析和求解,获得有效结论。、程目标毕业指标点课程目标1课程目标2We目标3课程目标4目标5课程目标6课程目标7课程目标8课程目标9目标10毕业要求标点3.1/毕业要求标点3.2/ZZZZ毕业要求标点3.3/Z/注:课程目标与毕业要求指标点对接的单元格中可输入“,也可标注“H、M、L”。二,课程内容与
4、教学要求第一章绪论(一)课程内容1 .程序设计语言和编译程序。2 .编译程序的历史及发展。3 .编译过程和编译程序结构。4 .编译程序的开发。5 .构造编译程序所应具备的知识内容。(二)教学要求1 .了解编译程序的历史、开发方法。2 .理解构造编译程序所应具备的知识内容。3 .掌握编译过程和编译程序结构。(三)重点与难点1 .重点编译程序的工作过程。2 .难点编译程序的结构。第二章词法分析(一)课程内容1 .词法分析器的设计方法。2 .一个简单的词法分析器示例。3 .正规表达式与有限自动机简介。4 .正规表达式到有限自动机的构造。(二)教学要求1 .了解单词符号的分类及输出形式。2 .理解正规
5、表达式的定义、性质,有限自动机的定义、种类、表示。3 .掌握由正规表达式构造有限自动机。(三)重点与难点1 .重点NFA的确定化。2 .难点DFA的化简。第三章语法分析(一)课程内容1 .文法和语言。2 .推导和语法树。3 .自顶向下的语法分析。4 .自底向上的语法分析。5 .规范归约的自底向上语法分析方法。(二)教学要求1 .了解文法的分类、语法树及相关概念。2 .理解文法和语言的定义。3 .掌握自顶向下和自底向上语法分析方法以及分析表的构造方法。(三)重点与难点1 .重点自顶向下和自底向上语法分析过程。1.R(O)分析表和SLRU)分析表的构造。2 .难点FIRST集和FOLLOW集的构造
6、方法。1.L(I)文法的证明。1.R(O)项目集规范族的构造。SLR(I)文法的证明。第四章语义分析与中间代码生成(一)课程内容1 .语法制导翻译方法。2 .属性文法。3 .中间代码的表示形式。4 .表达式及赋值语句的翻译。5 .控制语句的翻译。(二)教学要求1 .了解属性文法、四元式。2 .理解语法制导翻译方法。3 .掌握对表达式、赋值语句、分支语句和循环语句的翻译。(三)重点与难点1 .重点语法制导翻译方法的基本思想。对分支语句、循环语句的翻译。2 .难点语义子程序。第五章代码优化(一)课程内容1 .代码优化的含义、种类。2 .局部优化。(二)教学要求1 .了解代码优化的种类。2 .理解代
7、码优化的含义。3 .掌握对中间代码的局部优化。(三)重点与难点1 .重点基本块的DAG表示及其应用。2 .难点利用DAG进行基本块的优化。三、本课程开设的实验项目编号实验项目名称学时类型要求支撑的课程目标1词法分析4设计性必做6、7、92语法分析4设计性必做6、8、9注:1.“类型”填验证性、综合性、设计性等;2. “要求”填必做、选做。实验1:词法分析1 .实验目标通过设计、编制、调试一个具体的词法分析程序,加深对词法分析器内部工作原理的理解,并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。2 .要求从输入的源程序中,识别出具有独立意义的各个单词,即保留字、标识符
8、、常数、运算符、界符五大类。并依次输出各个单词的内部编码及单词符号自身值。(遇到错误时可显示“Error”,然后跳过错误部分继续显示)。单词示例单词种别编码要求保留字if、int、forwhile、doreturn、break、continue每个保留字单独为一种标识符以字母开头且包含字母和数字的字符串标识符作为一种常数(只识别无符号整数)123、363常数作为一种运算符+、-、*、/、=、=、=、!=每符一种,也可统归为一种界符,、;、(、)每符一种,也可统归为一种以上为参考,具体可自行增删。3 .程序输入/输出示例如源程序为C语言。输入如下一段:mainO(inta,b;a=10;b=a+
9、20;)要求输出如下:(2,Inain)”(“)(5,w)“)(5,”“)(1,”int”)(2,a”)(5,w,”)(2,wbw)(5,“;”)(2,“a”)(4,w=w)(3,“10”)(5,“;”)(2,wb”)(4,w=w)(2,wa”)(4,w+w)(3,w20”)(5,“;”)(5,w)“)4 .程序思路(仅供参考)(1)定义部分:定义常量、变量、数据结构。(2)初始化:从文件将源程序全部输入到字符缓冲区中。(3)预处理:去除空格,格式符等。(4)取单词:读出单词的每一个字符,组成单词,分析类型。(关键是如何判断取单词结束?取到的单词是什么类型的单词?)(5)显示结果。实验2:语法
10、分析1 .实验目标了解语法分析器的内部工作原理,通过在本次实验中运用一定的编程技巧,掌握对表达式进行语法分析处理的种方法。2 .要求通过设计、编制、调试一个语法分析程序,能识别由加+、乘*、括号()、操作数所组成的算术表达式,其文法GE如下:EfE+TITT-*T*FIFF(E)Ii注意:(1)为降低难度,表达式中不含变量(只含无符号整数)。(2)如果遇到错误的表达式,应输出错误提示信息(该信息越详细越好(3)测试用的表达式事先放在文本文件中,一行存放一个表达式,同时以分号分隔。同时将预期的输出结果写在另一个文本文件中,以便和输出进行对照。(4)对学有余力的同学,可增加功能:当判断一个表达式正
11、确时,输出计算结果和计算过程,但要注意不要被O除。3 .程序输入/输出示例如参考C语言的运算符。输入如下表达式(以分号为结束)和输出结果:(1) 10;输出:正确(2) 1+2;输出:正确(3) (1+2)*(3+4+(5+6*7);输出:正确(4) (1+2)*3+4;输出:错误(5) l+2+(*3+4);输出:错误(6) 序思路(仅供参考)(1)初始化:初始化变量空间(包括结构体、数组等)。(2)控制部分:将一个表达式从文件中读出。(3)利用递归下降分析器对表达式进行处理,如果遇到错误则显示错误信息。四、学时分配及教学方法章(按序填写)教学形式及学时分配主要教学方法支撑的课程目标课堂教学
12、实验上机课程实践小计第一章绪论44讲授、讨论、案例2、9第二章词法分析10414讲授、演示、窠例、实验、练习3、6、7、10第三章语法分析15419讲授、演示、案例、实验、练习1、4、6、8、10第四章语义分析和中间代码生成77讲授、演示、案例、练习5、10第五章代码优化44讲授、演示、案例、练习5、10合计40848注:L课程实践学时按相关专业培养计划列入表格;2 .主要教学方法包括讲授法、讨论法、演示法、研究型教学方法(基于问题、项目、案例等教学方法)等。五、课程考核考核形式考核要求考核权重备注平时作业和测验按照作业和测验题目进行评分,计算作业和测验平均分15%实验完成实验报告15%期末考
13、试闭卷70%注:1.分学期设置和考核的课程应按学期分别填写上表。3 .考核形式主要包括课堂表现、平时作业、阶段测试、期中考试、期末考试、大作业、小论文、项目设计和作品等。4 .考核要求包括作业次数、考试方式(开卷、闭卷)、项目设计要求等。5 .考核权重指该考核方式或途径在总成绩中所占比重。六、参考书目及学习资料1 .编译原理(第2版),(美)阿霍(AIfredV.Aho)等著,赵建华等译,机械工业出版社,2009.12 .编译原理,蒋宗礼、姜守旭编著,高等教育出版社,2010.23 .程序设计语言编译原理(第3版),陈火旺等著,国防工业出版社,2009.1七、大纲说明1 .课程采用多媒体教学手段,配合例题的演示、讲解及适当的思考题,保证讲课进度的同时,注意学生的掌握程度和课堂的气氛。2 .根据各章节的具体情况,课后可布置适当的书面作业或思考题,以便帮助学生理解并掌握教学内容。3 .本课程有8个学时的实验,具体实验内容任课教师亦可以根据实际教学情况适当调整。制定人:年轶审定人:潘雨育批准人:毛启容2017年9月15日