《编译技术》课程教学大纲(本科)_第1页
《编译技术》课程教学大纲(本科)_第2页
《编译技术》课程教学大纲(本科)_第3页
《编译技术》课程教学大纲(本科)_第4页
《编译技术》课程教学大纲(本科)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编译技术(Compiler Technology)课程代码:06410129学分:3.0学时:48 (其中:课堂教学学时:40上机学时:8 )先修课程:程序设计基础,汇编语言与微机原理,离散数学,数据结构,操作系统适用专业:计算机科学与技术教材:编译原理教程(第四版),胡元义编,西安电子科技大学出版社,2015年2月第4版一课程性质与课程目标(一)课程性质编译技术是一门理论性、实践性和技术性很强的课程,是计算机科学与技术专业的专业基 础必修课。课程主要介绍了编译程序的构造原理及相关技术,使学生掌握编译程序的基本理论、设 计思想和实现方法,培养学生的抽象思维、分析问题和解决问题的能力,从而为今后

2、从事应用软件 和系统软件的开发打下一定的理论和实践基础。(二)课程目标课程目标1:掌握形式语言理论与编译程序密切相关的基础概念,主要包括文法和语言的形 式定义。课程目标2:理解并掌握编译程序的工作过程和编译程序的结构。课程目标3:掌握词法分析程序的自动生成原理。课程目标4:掌握语法分析的基本原理。课程目标5:理解并掌握语法制导翻译及代码优化的过程。课程目标6:能够熟练使用一种程序开发工具。课程目标7:掌握词法分析程序的实现。课程目标8:掌握语法分析的实现方法。课程目标9:理解程序设计语言与编译程序的紧密联系。.课程采用多媒体教学手段,配合例题的演示、讲解及适当的思考题,保证讲课进度的同时,注意

3、学生的掌握程度和课堂的气氛。.根据各章节的具体情况,课后可布置适当的书面作业或思考题,以便帮助学生理解并掌握教 学内容。.本课程有8个学时的实验,具体实验内容任课教师亦可以根据实际教学情况适当安排。2017年 9月15日课程目标10:培养学生的逻辑思维能力。(三)课程目标与专业毕业要求指标点的对应关系本课程支撑专业培养计划中毕业要求指标点3. 1、3. 2、3. 2.毕业要求指标点3.1:具备对计算机领域复杂工程问题进行识别和有效分解的能力。.毕业要求指标点3. 2:具备对分解后的计算机领域复杂工程问题进行表达与建模的能力。.毕业要求指标点3. 3:能够对计算机领域复杂工程问题进行分析和求解,

4、获得有效结论。苗程目标毕业、 指标点课程目标1课程目标2课程目标3课程目标4课程目标5课程目标6课程目标7课程目标8课程目标9课程目标10毕业要求标点3. 1/毕业要求标点3. 2/毕业要求标点3. 3注:课程目标与毕业要求指标点对接的单元格中可输入也可标注“H、M、L-o二、课程内容与教学要求第一章绪论(一)课程内容.程序设计语言和编译程序。.编译程序的历史及发展。.编译过程和编译程序结构。.编译程序的开发。.构造编译程序所应具备的知识内容。(二)教学要求. 了解编译程序的历史、开发方法。.理解构造编译程序所应具备的知识内容。.掌握编译过程和编译程序结构。(三)重点与难点L重点编译程序的工作

5、过程。2.难点编译程序的结构。第二章词法分析(-)课程内容.词法分析器的设计方法。. 一个简单的词法分析器示例。.正规表达式与有限自动机简介。.正规表达式到有限自动机的构造。(二)教学要求. 了解单词符号的分类及输出形式。.理解正规表达式的定义、性质,有限自动机的定义、种类、表示。.掌握由正规表达式构造有限自动机。(三)重点与难点.重点NFA的确定化。.难点DFA的化简。第三章语法分析(一)课程内容.文法和语言。.推导和语法树。.自顶向下的语法分析。.自底向上的语法分析。.规范归约的自底向上语法分析方法。(二)教学要求. 了解文法的分类、语法树及相关概念。.理解文法和语言的定义。.掌握自顶向下

6、和自底向上语法分析方法以及分析表的构造方法。(三)重点与难点.重点自顶向下和自底向上语法分析过程。LR(0)分析表和SLR(l)分析表的构造。.难点FIRST集和FOLLOW集的构造方法。LL(1)文法的证明。LR(O)项目集规范族的构造。SLR(l)文法的证明。第四章语义分析与中间代码生成(一)课程内容L语法制导翻译方法。.属性文法。.中间代码的表示形式。.表达式及赋值语句的翻译。.控制语句的翻译。(二)教学要求. 了解属性文法、四元式。.理解语法制导翻译方法。.掌握对表达式、赋值语句、分支语句和循环语句的翻译。(三)重点与难点.重点语法制导翻译方法的基本思想。对分支语句、循环语句的翻译。.

7、难点语义子程序。第五章代码优化(一)课程内容L代码优化的含义、种类。2.局部优化。(二)教学要求. 了解代码优化的种类。.理解代码优化的含义。.掌握对中间代码的局部优化。(三)重点与难点.重点基本块的DAG表示及其应用。.难点利用DAG进行基本块的优化。三、本课程开设的实验项目编号实验项目名称学时类型要求支撑的课程目标1词法分析4设计性必做6、7、92语法分析4设计性必做6、8、9注:L “类型”填验证性、综合性、设计性等;. “要求”填必做、选做。实验L词法分析.实验目标通过设计、编制、调试一个具体的词法分析程序,加深对词法分析器内部工作原理的理解,并 掌握在对程序设计语言源程序进行扫描过程

8、中将其分解为各类单词的词法分析方法。.要求从输入的源程序中,识别出具有独立意义的各个单词,即保留字、标识符、常数、运算符、界 符五大类。并依次输出各个单词的内部编码及单词符号自身值。(遇到错误时可显示“Error”,然后 跳过错误部分继续显示)。保留字if、int、for while、do return、break、 continue每个保留字单独为一种标识符以字母开头且包含字母和数字的字符串标识符作为一种常数(只识别无符号整数)123、 363常数作为一种运算符+、*、/、=、=、=、!二每符一种,也可统归为种界符,、;、(、)每符一种,也可统归为一种单词示例单词种别编码要求以上为参考,具体

9、可自行增册人.程序输入/输出示例如源程序为C语言。输入如下一段:main ()int a, b;a = 10;b = a + 20;)要求输出如下:(2, main)(5J (“)(5,”)“)(5,” “)(1,“ int”) a”)(5,”,”)(2,“ b)(5,“ ;“) (2, a)(41二”)(3,” 10”)(5, ;”) b”)(4, 二”)(2/a”)(4, +”)(3,” 20”)(5J ;”)(5,” “).程序思路(仅供参考)(1)定义部分:定义常量、变量、数据结构。(2)初始化:从文件将源程序全部输入到字符缓冲区中。(3)预处理:去除空格,格式符等。(4)取单词:读出

10、单词的每一个字符,组成单词,分析类型。(关键是如何判断取单词结束? 取到的单词是什么类型的单词?)(5)显示结果。实验2:语法分析.实验目标了解语法分析器的内部工作原理,通过在本次实验中运用一定的编程技巧,掌握对表达式进行 语法分析处理的一种方法。.要求通过设计、编制、调试一个语法分析程序,能识别由加+、乘*、括号()、操作数所组成的算术 表达式,其文法GE如下:E-E+T | TT-T*F | FFf (E) | i注意:(1)为降低难度,表达式中不含变量(只含无符号整数)。(2)如果遇到错误的表达式,应输出错误提示信息(该信息越详细越好)。(3)测试用的表达式事先放在文本文件中,一行存放一

11、个表达式,同时以分号分隔。同时将预 期的输出结果写在另一个文本文件中,以便和输出进行对照。(4)对学有余力的同学,可增加功能:当判断一个表达式正确时,输出计算结果和计算过程, 但要注意不要被0除。.程序输入/输出示例如参考C语言的运算符。输入如下表达式(以分号为结束)和输出结果:10;输出:正确1+2;输出:正确(1+2)*(3+4+ (5+6*7);输出:正确(1+2)*3+4;输出:错误1+2+(*3+4);输出:错误4.程序思路(仅供参考)(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注:1 .课程实践学时按相关专业培养计划列入表格;.主要教学方法包括讲授法、讨论法、演示法、研究型教学方法(基于问题、项目、案例等教学方法)等。五、课程考核考核形式考核要求考核权重备注平时作业和测验按照作业和测验题目进行评 分,计算作业和测验平均分15%实验完成实验报告15%期末考试闭卷70%注:1.分学期设置和考核的课程应按学期分别填写上表。.考核形式主要包括课堂表现、平时作业、阶段测试、期中考试、期末考试、大作业、小 论文、项目设计和作品等。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论