当前位置:首页 > 编译原理考核大纲
《编译原理》课程考核大纲
一、课程编号 042415B 二、课程性质 专业课 三、编写说明
本大纲根据《编译原理》教学大纲的要求编写,它是《编译原理》(51学时)课程考核的基本依据,适用于计算机科学与技术本科专业和计算机科学与技术(网络方向)本科专业。
四、课程考核要求与知识点
第一章 编译程序概论
1、识记:(1)编译程序的概念;(2)典型的编译过程阶段划分方法;(3)遍的概念;(4)编译程序分遍的主要参考因素。
2、理解:(1)解释程序和编译程序的区别;(2)编译程序的基本结构;(3)编译过程各阶段的任务;(4)编译阶段的两种组合方式;(5)编译程序实现的三种途径;(6)自展技术;(7)交叉编译。
3、运用:(1)试以实例来说明编译程序的构造和使用;(2)试结合软件行业的发展说明学习编译原理对提高自己计算机专业素质的特殊意义。
第三章 文法和语法
1、识记: (1)文法的直观定义和特点;(2)符号和符号串的基本概念;(3)规则和和文法的形式定义;(4)句型、句子、句柄的定义。
2、理解:(1)乔姆斯基文法分类法及各类型文法的区别;(2)有关文法的实用限制。
3、运用:(1)符号和符号串的运算;(2)语法树的构造;(3)句型、句子的推导和归约;(4)句型的分析。
第四章 词法分析
1、识记: (1)单词符号的种类;(2)正规文法和正规式的定义;(3)DFA和NFA的定义。
2、理解:(1)识别和运行的概念;(2)正规式、正规文法和有穷自动机的等价性;(3)词法分析程序自动构造工具LEX工作原理。
3、运用:(1)正规文法和正规式的构造;(2)正规文法和正规式的等价互换;(3)DFA和NFA的状态图表示;(4)NFA到DFA的等价互换;(5)DFA的化简;(6)正规式和NFA的等价互换;(7)正规文法和NFA的等价互换。
第五章 自顶向下语法分析方法
1、识记: (1)语法分析方法的分类;(2)FIRST集 、FOLLOW 集和SELECT集的定义;(3)LL(1)文法的定义。
2、理解:(1)自顶向下语法分析的基本思想;(2)FIRST集 、FOLLOW 集和SELECT集的相互关系;(3)预测分析程序的工作原理;(4)非LL(1)文法到LL(1)文法的等价转换技术。
3、运用:(1)LL(1)文法的判别;(2)非LL(1)文法到LL(1)文法的等价转换;(3)预测分析方法的运用。
第六章 自底向上优先分析方法
1、识记: (1)各种优先关系的定义;(2)简单优先文法的定义;(3)算符优先文法的定义;(4)FIRSTVT集 、LASTVT 集的定义;(3)最左素短语的定义;(4)优先矩阵的定义;(5)优先函数的定义。
2、理解:(1)自底向上语法分析的基本思想;(2)简单优先分析方法的基本思想;(3)直观算符优先分析法的基本思想;(4)算符优先分析过程和规范归约过程的区别;(5)优先函数和优先矩阵的优缺点;(6)算符优先分析法的优点及局限性。
3、运用:(1)算符优先文法的判别;(2)算符优先分析方法的运用;(3)算符优先矩阵和优先函数的构造。
第七章 LR分析法
1、识记:(1)LR分析器的构成;(2)可归前缀和活前缀的定义;(3)LR(0)及LR(1)项目集规范族的项目类型;(4)同心集的定义。
2、理解:(1)LR(0)、SLR(1)、LR(1)和LALR(1)分析表的区别;(2)LR(0)、SLR(1)、LR(1)和LALR(1)分析过程的区别;(3)LR(0)、SLR(1)、LR(1)和LALR(1)文法的相互关系;(4)语法分析程序自动构造工具YACC的工作原理。 3、运用:(1)LR(0)、SLR(1)、LR(1)和LALR(1)分析表的构造;(2)LR(0)、SLR(1)、LR(1)和LALR(1)分析方法的运用。
第八章 语法制导翻译和中间代码生成
1、识记:(1)属性文法的构成和表示;(2)语法制导翻译的概念。 2、理解: 语义规则的描述。
3、运用:(1)赋值语句的翻译;(2)布尔表达式的翻译;(3)四种中间代码的形式的相互转换。
第九章 符号表
1、识记:(1)符号表的功能;(2)符号表的主要属性及作用;(3)符号表的总体组织方法;(4)符号表项的排列。
2、理解:(1)变量在符号表中的表示方法;(2)编译过程中重名动态下推链的工作原理。
第十章 目标程序运行时的存储组织
1、识记: (1)目标程序运行时存储区的典型划分;(2)常用的几种参数传递方式。
2、理解:(1)栈式动态存储分配策略;(2)堆式动态存储分配策略;(3)传值和传地址的区别。
第十一章 代码优化
1、识记:(1)优化的概念;(2)基本块的定义;(3)局部优化的概念。 2、理解:(1)基本块的保结构变换;(2)控制制流分析和循环查找算法;(3)到达定值与引用定值链;(4)循环优化。
3、运用:(1)常用优化技术的运用;(2)基本块的DAG表示。
第十二章 代码生成
理解:(1)寄存器分配原则和算法;(2)待用信息和活跃信息链表的构造;(3)中间语言选择的原则;(4)代码生成自动化方法。
五、课程考核实施要求
1、考核方式
本课程为专业必修课,课程考核采用平时考核和期终考试相结合的方式进行。平时考核主要采用考勤、作业和平时检测及课程设计等形式。期末考试采用笔试闭卷形式。
2、期末考试命题
(1)本课程考试命题内容覆盖了教学大纲的全部内容;
(2)试题对不同能力层次要求的比例为:识记约占20%,理解约占35%,运用占45%;
(3)试卷中不同难易度试题的比例为:较易占20%,中等占60%,较难占20%;
(4)本课程考试试卷题型及分值分布
第一大题:填空题(共30分,30个空,每空1分) 第二大题:简答题(共20分,4个小题,每小题5分)
第三大题:应用题(共50分,4个小题,小题分根据具体情况分配) 3、课程考核成绩评定
本课程总评成绩中,平时成绩占30%,其中考勤、作业和平时检测成绩各占10%;期末考试按70%记入课程的期评总成绩。
六、教材及参考书
1、教材
吕映芝,张素琴,蒋维杜.编译原理[M].北京:清华大学出版社,1998. 2、参考书目
[1] Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman.编译原理技术与工具[M] (英文版).北京:人民邮电出版社,2002.
[2] 冯博琴,冯岚等译.编译原理及实践[M]. 北京:机械工业出版社,2000. [3] 陈火旺,刘春林,谭庆平等.程序设计语言编译原理[M].北京:国防工业出版社,2001.
共分享92篇相关文档