版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编译原理教学大纲一、课程的性质、地位本课程是计算机专业的重要专业课之一,是一门理论性和实践性较强的课程。重要介绍程序设计语言编译程序构造的基本原理和基本实现办法。本课程重要讲授形式语言、有限自动机、自上而下和自下而上的语法分析、LR分析办法、属性文法和语法制导翻译、语义分析的代码产生、存储器的动态分派与管理、符号表的组织与管理、优化问题、代码生成等内容。通过本课程学习,使学生对编译的基本概念、原理和办法有完整的和清晰的理解,并能对的地、纯熟地运用。二、课程的目的、任务和规定该课程的目的是让学生掌握程序设计语言编译程序构造的普通原理、基本设计办法、重要实现技术和某些自动构造工具。通过本课程的学习,使学生较好地掌握编译原理的基本原理和基本技术、编译原理中涉及的基本算法、基本构造和重要实现技术,从而让学生理解将高级程序设计语言源程序翻译成计算机能解决的目的代码语言的整个过程,基本掌握计算机系统软件之一编译程序的构造原理及有关技术,同时,还可提高学生计算机专业素质,培养学生的抽象思维能力。通过学习,学生可基本掌握计算机系统软件之一编译程序的构造原理及有关技术,同时,还可提高学生计算机专业素质,培养学生的抽象思维能力。三、与其它课程的关系规定学生含有较好的计算机基础知识,对计算机的工作原理有一定理解,前导课程涉及:高等数学、线性代数、计算机原理、离散数学、高级程序设计语言、数据构造等课程。四、课程内容(建议理论学时:62上机学时:18)第一章编译程序概论1、教学目的及规定:本章介绍编译程序在计算机科学中的地位和作用,介绍编译技术的发展历史,解说编译程序、解释程序的基本概念,概述编译过程,介绍编译程序的逻辑构造和编译程序的组织形式。规定理解编译程序、解释程序和遍的基本概念;掌握编译过程各阶段的任务和编译程序逻辑构造及其各部分的基本功效。2、教学内容:编译程序,编译过程概述,编译程序的构造,编译程序与程序设计环境,编译程序生成,学习构造编译程序。3、教学重点:重点:编译程序工作的基本过程及其各阶段的基本任务,编译程序总框。4、教学难点:编译的遍。5、教学时间分派及进度安排:建议本章教学时数2学时。6、章节内容1、什么是编译程序2、编译过程概述3、编译程序的构造4、编译技术和软件工具第二章文法和语言1、教学目的及规定:本章是编译原理课程的理论基础,规定理解文法、语言、规范推导、规范归约和短语、简朴短语、句炳的基本概念;掌握语言的求解办法、文法的二义性与递归性的判断办法及句型的分析办法。2、教学内容:形式语言的基本概念,涉及符号串的基本概念和术语、文法和语言的形式定义、句型分析、文法和语言的Chomsky分类,二义性。3、教学重点:上下文无关文法,语言定义。4、教学难点:推导,文法与语言的互相转换。5、教学时间分派及进度安排:建议本章教学时数5学时。6、章节内容1、文法的直观概念2、符号和符号串3、文法和语言的形式定义4、文法的类型5、语法树和二义性6、句型的分析7、文法中的实用限制第三章词法分析1、教学目的及规定:本章介绍编译程序的第一种阶段词法分析的设计原理和设计办法,规定掌握正则文法、状态转换图、DFA、NFA、正规式和正规集的基本概念和词法分析设计与编写。2、教学内容:词法分析的设计原理和设计办法,源程序输入与词法分析程序输出、正则文法及其状态转换图、拟定的有限自动机(DFA)不拟定的有限自动机(NFA)正则体现式与正规集。3、教学重点:重点:词法分析器的任务与设计,状态转换图。4、教学难点:正则文法、正规集、DFA、NFA的互相转化。5、教学时间分派及进度安排:建议本章教学时数8学时。6、章节内容词法分析程序的设计2、单词的描述工具3、有穷自动机4、正规式和有穷自动机的等价性5、正规文法和有穷自动机间的转换第四章语法分析—自上而下分析1、教学目的及规定:本章介绍编译程序的第二个阶段语法分析的设计办法和实现原理,涉及自上而下分析的无回朔的递归下降分析、LL(1)分析法。规定理解递归下降分析、LL(1)文法的基本概念;掌握无回朔的递归下降分析的设计和实现、LL(1)分析表的构造与分析办法。2、教学内容:语法分析器的功效,自上而下语法分析(递归下降分析法,预测分析程序),LL(1)分析法,递归下降分析程序构造,预测分析程序。3、教学重点:递归下降子程序,预测分析表构造,LL(1)文法。4、教学难点:LL(1)文法预测分析表构造。5、教学时间分派及进度安排:建议本章教学时数5学时。6、章节内容1、拟定的自顶向下分析思想2、LL(1)文法的鉴别3、某些非LL(1)文法到LL(1)文法的等价变换4、不拟定的自顶向下分析思想5、拟定的自顶向下分析办法第五章语法分析—自下而上分析1、教学目的及规定:规定理解算符优先文法、最左素短语、有效项目的基本概念;掌握算符优先分析办法、LR(0)文法的判断及LR(0)分析表的构造与分析办法、SLR(1)文法的判断与SLR(1)分析办法和LR(1)文法的判断与LR(1)分析办法。2、教学内容:自下而上语法分析(算符优先分析法),算符优先分析,LR分析器,LR(0)项目集族和LR(0)分析表的构造,SLR分析表的构造,规范LR分析表的构造。3、教学重点:归约,算符优先表构造,LR分析法。4、教学难点:归约,LR分析法。5、教学时间分派及进度安排:建议本章教学时数12学时。6、章节内容自底向上分析思想2、算符优先分析法3、LR分析法第六章属性文法和语法制导翻译1、教学目的及规定:本章介绍编译程序的第三个阶段语义分析及中间代码生成的设计原理和实现办法,规定理解语法制导翻译、语义动作的基本概念;掌握算数体现式和赋值语句到中间代码的翻译、布尔体现式和几个控制语句的目的代码构造分析和到四元式的语法制导翻译;阐明语句的语法制导翻译。2、教学内容:语法制导翻译的基本概念、中间代码的形式,可执行语句和阐明语句的语法制导翻译办法。3、教学重点:语法制导翻译基本思想,语法制导翻译概述,基于属性文法的解决办法,自下而上分析制导翻译概述。4、教学难点:属性文法的解决办法5、教学时间分派及进度安排:建议本章教学时数9学时。6、章节内容1、属性文法2、语法制导翻译概论3、中间代码的形式4、简朴赋值语句的翻译5、布尔体现式的翻译6、控制语句的翻译第七章符号表1、教学目的及规定:本章介绍编译程序的构成部分之一符号表的管理,规定掌握符号表管理的基本办法。2、教学内容:符号表的作用、建立、符号表栏目的组织、符号表上的操作。3、教学重点:符号表的作用与内容。4、教学难点:符号表的内容。5、教学时间分派及进度安排:建议本章教学时数3学时。6、章节内容1、符号表的作用和地位2、符号表的重要属性及作用3、符号表的组织4、符号表的管理第八章运行时存储空间组织1、教学目的及规定:本章介绍目的程序运行时的存储组织方式,涉及静态存储分派和动态存储分派。规定掌握多个存储组织形式的基本办法。2、教学内容:目的程序运行时的活动,运行时存储器的划分,静态存储管理,简朴的栈式存储分派的实现,嵌套过程语言的栈式实现,堆式动态存储分派。3、教学重点:静态分派方略和动态分派方略基本思想,嵌套过程语言栈式分派,活动统计、运行时栈的组织。4、教学难点:嵌套过程语言栈式分派,活动统计、运行时栈的组织。5、教学时间分派及进度安排:建议本章教学时数9学时。6、章节内容1、数据空间的三种不同使用办法2、栈式存储分派的实现3、参数传递第九章代码优化1、教学目的及规定:本章介绍优化的有关知识,规定掌握局部优化,基本块的DAG表达及其应用,控制流分析和循环查找算法,达成定值与引用定值链,循环优化。2、教学内容:重要内容:优化概述,局部优化,基本块的DAG表达及其应用,控制流分析和循环查找算法,达成定值与引用定值链,循环优化。3、教学重点:局部优化;DAG的构造与应用。4、教学难点:循环查找。5、教学时间分派及进度安排:建议本章教学时数6学时。6、章节内容1、优化技术介绍2、局部优化3、控制流分析和循环优化第十章代码生成1、教学目的及规定:本章介绍编译程序的第五阶段目的代码的生成的设计原理和实现办法,规定掌握四元式到汇编语言的目的代码生成办法。2、教学内容:目的机器模型,一种简朴代码生成器,寄存器分派,DAG目的代码,窥孔优化。3、教学重点:简朴代码生成器,寄存器分派方略。4、教学难点:寄存器分派方略。5、教学时间分派及进度安排:建议本章教学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论