《编译原理》课程教学大纲_第1页
《编译原理》课程教学大纲_第2页
《编译原理》课程教学大纲_第3页
《编译原理》课程教学大纲_第4页
《编译原理》课程教学大纲_第5页
全文预览已结束

下载本文档

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

文档简介

PAGEPAGE2《编译原理》课程教学大纲课程英文名称:CompilingPrinciple课程编号:0800440学分:3学时:48课程教学对象本教学大纲适用于计算机学院各专业普通本科学生。课程性质及教学目的本课程属专业技术基础课程。通过本课程的学习,使学生全面、系统地掌握计算机编译原理的基本概念、工作原理和工作过程,理解形式语言和自动机理论,了解编译技术中使用的数据结构和算法。使学生在系统的级别上重新认识算法和程序,提升学生的计算机问题求解的水平,增强系统能力,体验实现自动计算的乐趣。此外,该课程还有利于进一步培养学生的形式化描述能力、算法设计与分析能力、程序设计与实践能力。对先修知识的要求本课程的先修课程为离散数学、程序设计、数据结构、操作系统、计算机组成原理等。通过离散数学课程的学习,使学生具备基本的计算机科学的抽象思维能力和逻辑思维能力;而掌握程序设计和数据结构的基本知识后,学生能够用高级语言表达算法和问题,熟练编程并求解。通过操作系统课程和计算机组成原理课程的学习,使学生对计算机硬件和软件系统能够有较全面的认识。这些都将为编译原理课程的学习打下基础。课程的主要内容、基本要求和学时分配建议(总学时数:40)知识模块知识点要求学时学习方式课外学习要求1、编译程序的基本概念1.1编译程序的功能B3课堂讲授1.2编译过程A课堂讲授1.3编译程序结构A课堂讲授1.4解释程序C课堂讲授2、PL/0编译程序2.1PL/0语言描述B课堂讲授2.2PL/0编译程序结构C课堂讲授3、典型的编译器3.1CC自学辅导3.2Java语言的编译器C自学辅导4、文法的概念4.1文法的直观概念C4课堂讲授4.2符号和符号串B课堂讲授4.3文法和语言的定义A课堂讲授4.4文法的类型A课堂讲授5、上下文无关的文法句型分析5.1语法树B课堂讲授5.2推导A课堂讨论5.3二义文法B课堂讲授6、句型分析6.1自上而下的分析方法A课堂讲授6.2自下而上的分析方法A课堂讲授6.3句型分析的相关问题B课堂讲授7、文法的限制和规则7.1实用限制B课堂讨论7.2上下文无关中的ε规则B课堂讲授8、词法分析程序的设计8.1词法分析程序设计的接口方式C3课堂讲授8.2词法分析程序的输出B课堂讨论8.3词法分析程序的设计模式C课堂讲授8.4词法分析程序的自动构造工具C自学辅导9、单词描述9.1正规文法A课堂讲授9.2正规式A课堂讲授9.3正规文法和正规式的等价性A课堂讨论10、有穷自动机10.1确定的有穷自动机(DFA)A3课堂讲授10.2不确定的有穷自动机(NFA)A课堂讲授10.3NFA到DFA的转换A课堂讲授10.4DFA的化简A课堂讲授10.5正规式和有穷自动机的等价性A课堂讨论10.6正规文法和有穷自动机的等价性A课堂讨论11、确定的自顶向下分析思想11.1基本概念B4课堂讲授11.2FIRST计算A课堂讲授11.3FOLLOW计算A课堂讲授11.4SELECT计算A课堂讨论12、LL(1)文法12.1LL(1)的含义B课堂讲授12.2LL(1)文法的判别A课堂讨论12.3非LL(1)文法到LL(1)文法的等价变换A课堂讲授13、自顶向下分析13.1不确定的自顶向下分析思想C自学辅导13.2递归子程序方法C课堂讲授13.3预测分析方法A课堂讲授14、自底向上优先分析14.1自底向上分析概述B4课堂讲授14.2简单优先分析B课堂讲授14.3算符优先分析A课堂讨论14.4优先函数B课堂讲授15、LR分析方法15.1LR分析概述B6课堂讲授15.2LR(0)分析A课堂讲授15.3SLR(1)分析A课堂讨论15.4LR(1)分析A课堂讲授15.5LALR(1)分析A课堂讨论15.6二义文法B课堂讲授16、语法制导翻译16.1语法制导翻译概述B5课堂讲授16.2属性文法B课堂讲授17、中间代码生成17.1逆波兰式A课堂讨论17.2四元式A课堂讲授17.3三元式和其它表示C自学辅导18、语句翻译18.1简单赋值语句的翻译A课堂讲授18.2布尔表达式的翻译A课堂讲授18.3控制结构的翻译B课堂讲授18.4其它语句的翻译C课堂讲授19、符号表的组织19.1符号表的作用和地位B4课堂讲授19.2符号表的主要属性A课堂讲授19.3符号表的组织A课堂讲授20、符号表的管理20.1符号表的初始化B课堂讲授20.2符号表的查找B课堂讲授20.3符号表中分程序结构层次的管理B课堂讲授21、存储组织21.1运行时内存的划分B课堂讲授21.2活动记录B课堂讲授22、运行时的分配策略22.1静态分配C课堂讲授22.2栈式分配A课堂讲授22.3堆式分配C课堂讨论23、优化技术23.1中间代码优化技术C4课堂讲授24、局部优化24.1基本块的划分A课堂讲授24.2基本块的变换B课堂讨论24.3DAG图表示及应用A课堂讲授25、循环优化25.1程序流图B课堂讲授25.2循环查找B课堂讨论25.3循环优化B课堂讲授26、全局优化26.1全局优化概念C自学辅导26.2全局优化方法C自学辅导27、目标代码生成27.1目标代码生成概述C自学辅导27.2目标代码生成方法C自学辅导注:知识点中粗体字部分为本课程的重点或难点(按照本课程知识体系列出知识模块及知识点,其中重点或难点用粗体字标注;要求按“了解(C)”、“熟悉(B)”、“熟练掌握(A)”三个层次描述学生对知识点应达到的要求。建议使用教材及参考书张素琴等.编译原理(第2版)[M].北京:清华大学出版社,2005蒋立源.编译原理(第3版)[M].西安:西北工业大学出版社,2007陈意云.编译原理(第二版).高等教育出版社,2008胡伦俊等.编译原理(第2版)[M].北京:电子工业大学出版社,2007AlfredVAho.赵建华等译.编译原理[M].北京:机械工业出版社,2010DickGrune.冯博琴译.现代编译程序设计[M].北京:人民邮电出版社,2005侯文永,张冬茉.编译原理[M].北京:电子工业出版社,2002王生原等.编译原理课程辅导[M].北京:清华大学出版社,2007王晓斌,陈文宇.程序设计语言与编译—语言的设计和实现[M].北京:电子工业出版社,2009蒋宗礼,姜守旭.形式语言与自动机理论[M].北京:清华大学出版社,2003课程考核方式本课程采用笔试闭卷的考核方式,要求学生熟练掌握课程教学目标要求的内容,并能有效表达和运用,以达到该课程的能力培养目标。采用平时成绩和期末考试成绩相结合的方式:平时表现(考勤、随堂提问、作业、随堂测验、实验环节):30%,期末考试:70%课内实验环节及要求(总学时数:8)序号实验(实训)项目实验(实训)内容实验(实训)目的及要求学时1词法分析编写一个词法分析程序(也可以是词法分析中的部分功能)目的:理解词法分析的任务、工作过程和实现方法。要求:运用高级语言(C++/Java)编写一个词法分析程序(也可以是词

温馨提示

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

评论

0/150

提交评论