编泽原理自学考试大纲.doc_第1页
编泽原理自学考试大纲.doc_第2页
编泽原理自学考试大纲.doc_第3页
编泽原理自学考试大纲.doc_第4页
编泽原理自学考试大纲.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

编译原理考试大纲 一、课程性质及其设置目的 (一)课程的性质和特点 编译原理是计算机专业中一门重要的必修的专业课程。其目的是使学生掌握编译程序的基本结构和基本原理,以及设计方法和实现技术,为以后从事应用软件和系统软件的开发打下一定的理论基础。设置本课程的日的是: (1)使学生了解程序语言编译系统的结构及各部分的功能: (2)使学生掌握设计和构造程序语言编译系统的基本原理和技术 (二)本课程的基本要求 通过本课程学习,要求学生:(1)熟悉编译程序的功能及结构(2)掌握词法分析程序的设计原理和构造方法(3)熟练掌握各种语法分析程序的设计技术(4)掌握常见语法成分翻译为中间代码的方法(5)了解静态和动态存储分配技术及实现局部优化、循环优化的基本思想和方法(6)具有设计和实现小型编译程序的能力 (三)本课程与相关课程的联系、分工或区别由于本课程的研究对象是程序设计语言的编译系统,因此高级程序设计语言必须作 为本课程的先修课。另外,本课程中的算法和理论、性质和定理,也要求数据结构和离散数学作为本课程的先修课。编译原理课程具有很强的理论性和实践性,学生在学习时普遍感到内容抽象,不宜 理解,掌握起来难度较人。学生在学习的时候,应该通过习题解析与实验实践的方式来理解 编译技术的原理和概念,掌握编译原理的相关方法,提高分析与解决问题的能力。本书中语法分析部分是本课程的重点,应加强练习和实践。 二、课程内容与考核目标第一章 编译程序概论(一)学习目的与要求这一章是编译原理的课程内容的简介和总述,所穿插的内容贯穿该课程各个部分。它介绍了编译程序的功能、结构、工作过程、组织方式、编译程序与高级语言的关系以及编译自动化方面的基本知识。应理解编译程序工作过程和六个组成部分,这是本章的重点之一。几个基本概念的理解也是本章的重点之一,例如编译程序的概念,编译和解释的概念(从它们的区别去理解)特别要加以深刻理解。学习后续章节的时候可重新来理解本章的内容,这样会对本章的内容理解更为深刻。(二)课程内容第一节本节讲述了编译程序和高级语言程序设计语言的关系、几个定义(编译程序的定义、解释程序的定义、编译方式的定义、解释方式的定义)和编译方式和解释方式的区别和联系。第二节本节介绍了编译程序的工作过程(词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成)第三节本节讨论了编译程序的结构(词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序、目标代码生成程序、表格处理程序和出错处理程序)第四节本节介绍了编译程序的组织方式(前端、后端、遍)。第五节本节介绍了编译程序的自编译性、自展、移植。(三)考核知识点:1、编译程序和程序设计语言的联系2、编译程序的定义3、解释程序的定义3、编译方式的定义4、解释方式的定义5、编译方式和解释方式的区别和联系6、编译程序的工作过程7、编译程序的结构8、编译程序的组织方式(前端、后端、遍) 8、编译程序的有关编译程序的设计与实现。 (四)考核要求(1)识记:编译程序的定义、解释程序的定义、编译方式的定义、解释方式的定义(2)领会:编译程序和程序设计语言的联系、编译和解释的区别、编译程序的逻辑结构、编译器各阶段的工作、编译程序的前端和后端、遍的概念第二章 形式语言概论(一)学习目的与要求这一章介绍形式语言理论,并着重介绍了上下文无关文法。文法的形式定义,是本章的一个难点。要求掌握文法、句型、句子和推导的概念。通过理解四种文法的区别和联系,以及文法、句型、句子和推导的概念之间的关系来把握这四个概念,这是本章的一个重点。掌握语法树和分析方法的基本思想,语法树的概念和使用是本章的另一个重点。另外,这一章概念、定理和性质繁多,应掌握它们之间的联系和关系。(二)课程内容第一节本节介绍了字母表与符号的定义、符号串的定义及符号串的有关运算(连接、乘积、方幂)以及符号串集合的运算(方幂、正闭包、自反闭包)。第二节本节阐述了产生式文法的定义、上下文无关文法的定义、直接推导、直接归约、推导、归约的定义。第三节本节阐述了文法的分类(0型,1型、2型、3型文法)。第四节本节阐述了句型、句子的概念和语言的形式定义,并介绍了一种句子结构的直观描述语法树。第五节本节阐述了文法的一些限制,给出了无用非终结符号的定义、不可达文法符号的定义、可空非终结符和空产生式的定义,并针对文法和语言的特性给出了最左推导、最右推导(规范推导)、最左归约、最右归约的概念以及文法的二义性的定义。第六节本节阐述了两类分析方法自上而下分析方法和自下而上分析方法的基本思想。 (三)考核知识点1、字母表与符号的定义2、符号串的定义及符号串的有关运算(连接、乘积、方幂)3、符号串集合的运算(方幂、正闭包、自反闭包)4、文法的四元组定义5、0型,1型、2型、3型文法的定义。7、直接推导、推导、最左推导、最右推导(规范推导)、最左归约、最右归约的定义8、句型、句子的概念9、语言的形式定义10、语法树的定义11、无用非终结符号的定义12、不可达文法符号的定义13、可空非终结符和空产生式的定义14、文法的二义性的定义15、自上而下分析方法和自下而上分析方法的基本思想(四)考核要求 (1)识记:0型,1型、2型、3型文法的定义、直接推导、推导、最左推导,最右推导(规范推导)、最左归约、最右归约、句型、句子的概念、字母表与符号的定义、文法的四元组定义、上下文无关文法(2)领会:符号串的定义及符号串的有关术语、语法树的概念和句型分析的有关问题、符号串集会的运算、无用非终结符号的定义、不可达文法符号的定义、可生非终结符的定义、文法的二义性的定义、语法分析的两大类(自上而下的分析方法、自下而上的分析方法)的基本思想、不确定的自上而下分析方法和确定的自上而下分析方法。 (3)简单应用:已知上下文无关文法G和句型W,构造出w的推导、最左推导、最右推导(规范推导)、最左归约、最右归约和语法树,找出W的短语,直接短语和句柄;判定上下义无关文法G是否是二义性的。(4)综合应用:己知上下文无关文法G,要求给出语言L,使得L=L(G);已知上下文无关语言L,要求给出文法G;,使得L(G)=L;已知文法G,根据文法和语言的一些特性化简文法; 第3章有穷自动机(一)学习目的与要求这一章专门讨论有穷自动机,它与正规文法、正规表达式之间的对应关系以及它的确定化和最小化方面的知识。分别用状态转换表、矩阵、状态转换图表示自动机。掌握自动机的确定化和最小化,这是本章的重点与难点之一。握:正规文法、正规式和自动机之间的转换,这是本章的另个重点。(二)课程内容第一节本节介绍了自动机的作用,有穷自动机的分类(确定有穷自动机和非确定有穷自动机)。第二节本节阐述了确定的有穷自动机(DFA)的形式定义、以及它的状态转换表和状态转换图的表示。同时还讲述了自动机的等价性、不确定的有穷自动机(NDFA)的定义。第三节本节阐述了将非确定有穷自动机转化成确定有穷自动机的步骤,给出了空移环路的定义、空移环路的寻找和消除方法和非环路的空移的消除方法。并讲述了非确定的有穷自动机的确定化状态子集法和造表法和消除不可达状态的算法。 还阐述了利用分割法对确定有穷自动机化简(或称最小化)的基本思想和方法。最后给出了化简后的确定有穷自动机到程序表示的方法。第四节本节阐述了正规文法到有穷自动机的转换规则、自动机到正规文法的转换规则。第五节本节阐述了正规表达式和正规集的定义和正规表达式的有关运算规则,正规表达式和正规文法、有穷自动机之间的相互等价性,并讨论了正规表达式到有穷自动机的转换规则、自动机到正规表达式的转换规则、正规文法到正规表达式的转换规则和正规表达式到正规文法的转换规则。(三)考核知识点:1、有穷自动机的分类(确定有穷自动机和非确定有穷自动机)。2、确定的有穷自动机(DFA)的形式定义3、确定的有穷自动机(DFA)状态转换表的表示4、确定的有穷自动机(DFA)状态转换图的表示5、自动机的等价性6、不确定的有穷自动机(NDFA)的定义。7、非确定有穷自动机转化成确定有穷自动机的步骤8、空移环路的定义9、空移环路的寻找和消除方法10非环路的空移的消除方法11、非确定的有穷自动机的确定化状态子集法和造表法。12、状态子集的闭包的定义13、不可达状态的定义14、等价状态、可区分的状态的定义15、消除不可达状态的算法。16、确定有穷自动机最小化的方法分割法17、正规文法到有穷自动机的转换规则18、自动机到正规文法的转换规则19、正规表达式和正规集的定义20、正规表达式的有关运算规则21、正规表达式和有穷自动机的等价性22、正规表达式到有穷自动机的转换规则23、自动机到正规表达式的转换规则24、正规文法到正规表达式的等价性25、正规文法到正规表达式的转换规则26、正规表达式到正规文法的转换规则(四)考核要求:(1)识记:空移环路的定义、不可达状态的定义、等价状态、可区分的状态的定义、正规表达式和正规集的定义、(2)领会:确定的有穷自动机(DFA)的定义、不确定的有穷自动机(NDFA)的定义、自动机的几种表示方法:形式定义、状态转换图、状态转换表、接受(识别)的概念、状态子集的闭包的定义、对DFA化简的基本思想、不确定的有穷自动机的确定化的基本思想、正规文法到有穷自动机的转换规则、自动机到正规文法的转换规则、正规表达式和正规集的定义、正规表达式的有关运算规则、正规表达式和有穷自动机的等价性、正规表达式到有穷自动机的转换规则、自动机到正规表达式的转换规则、正规文法和正规表达式的等价性、正规文法到正规表达式的转换规则、正规表达式到正规文法的转换规则(3)简单应用:空移环路的寻找和消除;消除非环路的空移;对于某一正规集,写出其正规表达式;求某一状态子集的闭包; (4)综合应用:对于某一正规表达式,构造其非确定的有限自动机;对于某非确定的有限自动机,并将其确定化;对于某确定的有限自动机,并将其最小化;对于某一正规文法,构造与其等价的有限自动机。对于某自动机,写出其相应的语言;对于给定的语言,构造相应的自动机;结合多个综合应用和简单应用来解决的问题。第4章 词法分析(一)学习目的与要求这章讨论了词法分析的功能和词法分析程序的设计方法。掌握单词的定义与类别,这是本章的一个重点。掌握词法分析器的任务和设计,词法分析器的任务是本章的另一个重点。词法分析器的设计是本章的一个难点。(二)课程内容第一节本节讨论了词法分析器的重要性以及它的任务。 第二节本节讨论了单词的含义与类别、输出形式,能识别标识符的状态转换图的表示,并如何由状态转换图来设计词法分析器。 第三节本节讨论了用一个简单实例来讨论扫描程序的设计。第四节本节讨论了标识符的在词法分析过程中的处理。第五节本节讨论了如何由正规文法来设计词法分析器和由正规表达式来设计词法分析器。(三)考核知识点:1、词法分析器(词法分析程序)的定义2、词法分析的任务3、单词的含义与类别4、单词的输出形式5、预处理的作用6、状态转换图的表示7、由状态转换图来设计词法分析器8、标识符的处理工作9、标识符的种类(定义性标识符和实用性标识符)9、由正规文法来设计词法分析器10、由正规表达式来设计词法分析器(四)考核要求(1)识记:词法分析器的定义、词法分析器的任务和单词的定义与类别(2)领会:词法分析程序与语法分析程序的关系、单词的输出形式、预处理的定义(3)简单应用:掌握对于某一程序语言程序段,设置其词类种别编码和词类符号;对于单词,给出它的状态转换图表示。(4)综合应用:由状态转换图或者其识别各种词类的确定的有限自动机,用某一程序语言实现它;掌握对于某程序语言程序的单词的正规文法表示或正规表达式,设置其词类种别编码和词类符号,给出其识别各种词类的确定的有限自动机,用某一程序语言实现它;掌握对于某一程序语言的单词的正规表达式表示,设置其词类种别编码和词类符号,给出其识别各种词类的确定的有限自动机,用某一程序语言实现它。第5章 自上而下的语法分析(一)学习目的与要求这章介绍了自上而下分析方法,包括LL(k)方法、LL(1)分析方法和应用十分广泛的递归下降分析方法。正确理解自上而下语法分析的基本思想,同时深刻理解语法分析器的作用。熟练掌握消除左递归的方法:扩展的BNF表示法、直接改写法,消除文法左递归的算法。这是本章的一个重点。注意:左递归文法不能用来构造自上而下分析。掌握预测分析程序的基本原理:LL(1)文法的定义、预测分析表构造、LL(1)分析器的逻辑结构和工作过程。其中LL(1)文法的定义和预测分析表构造是本章的重点和难点。掌握构造递归下降子程序的基本方法。(二)课程内容第一节本节讨论了非确定的下推自动机PDA与上下文无关语言。第二节本节讨论了消除左递归的方法,并给出了BNF和EBNF描述的定义,第三节本节讨论了LL(k)文法的定义和判别,并给出了几个集合FIRST集和FOLLOW集和SELECT集的定义和构造。第四节本节讨论了LL(1)分析表(或称预测分析表)的构造以及LL(1)分析器(或称预测分析程序)的工作过程。第五节本节讨论了LL(k)文法的几个结论。第六节本节讨论了递归下降分析程序及其设计。(三)考核知识点1、常用的语法分析方法区别和联系。2、两类语法分析方法的基本思想3、非确定的下推自动机的定义4、非确定的下推自动机的构形和移动5、非确定的下推自动机和上下文无关文法的联系6、定义文法的BNF和EBNF表示7、文法的左递归性的定义8、文法的直接左递归的两种消除方法(扩展的BNF表示法和直接改写法)9、消除文法左递归(包括直接左递归和间接左递归)的算法10、LL(k)文法的定义11、FIRST集和FOLLOW集的定义12、FIRST集、FOLLOW集和SELECT集的构造13、LL(1)文法的定义(即判别条件)14、LL(1)分析表(或称预测分析表)的构造15、LL(1)分析器(或称预测分析程序)的工作过程16、递归下降分析方法的基本思想17、递归下降分析程序的构造 (四)考核要求(1)识记:语法分析器的功能、FIRST集、FOLLOW集和SELECT集的定义、LL(1)文法的定义(即判别条件)(2)领会:语法分析方法分类、确定的自顶向下分析思想、LL(1)分析器(或称预测分析程序)的工作过程、预测分析程序的结构、递归下降分析方法的基本思想(3)简单应用:对于已知文法G,计算FIRST集、FOLLOW集和SELECT集、掌握用扩展的BNF表示法(即提取左公共因子)消除文法的左递归、掌握用直接改写法消除文法的直接左递归;对于已知文法G,判别是否是LL(1)文法;(4)综合应用:消除文法左递归(包括直接左递归和间接左递归)的算法;掌握递归下降分析程序的构造方法,给出一个LL(1)文法会构造它的递归子程序;LL(1)分析表(或称预测分析表)的构造;对于已知文法G,构造其LL(1)分析表,模拟预测分析程序的工作过程来对某一符号串判断是否为该文法的句子;结合多个综合应用和简单应用来解决的问题。第6章 自下而上的语法分析方法和优先分析方法(一)学习目的与要求这一章讨论了自下而上分析方法的一般原理和优先分析方法,包括简单优先分析法和算符优先分析法。正确理解自下而上语法分析的基本思想和移进归约的概念。掌握简单优先分析基本方法:本章重点:简单优先文法,简单优先关系矩阵的构造和优先函数构造的两种方法Bell方法和Floyd方法。着重理解优先关系的含义。这部分是本章的一个重点。掌握算符优先分析基本方法:算符优先文法,算符优先矩阵的构造技术。着重素短语和算符优先关系的含义。这部分是本章的另一个重点。正确理解简单优先分析方法和算符优先分析方法的优缺点。这是本章的一个难点。(二)课程内容第一节本节讨论了句型和归约的概念。第二节本节讨论了移进-归约方法的基本思想。第三节本节讨论了非确定的自下而上分析器和拓广的PDA和上下文无关语言的等价性。句型和归约的概念。第四节本节讨论了文法的一些关系(FIRST和LAST)、关系的布尔矩阵表示和求关系传递闭包Warshall算法。第五节本节讨论了简单优先分析方法的简单优先关系定义和构造方法,并给出了简单优先文法的定义和其分析算法。第六节本节讨论了算符优先分析方法的算符优先关系定义和构造方法,并给出了算符文法和算符优先文法的定义和其分析算法。第七节本节讨论了优先函数构造的两种方法Bell方法和Floyd方法。第八节本节讨论了两种优先方法简单优先分析方法和算符优先分析方法的比较。(三)考核知识点:1、自下而上分析方法的基本思想2、短语、直接短语(简单短语)和句柄的定义3、移进归约方法4、关系的定义5、关系的自反性、对称性和传递性6、与文法相关的关系:关系和、关系积、传递闭包和自反传递闭包7、关系R的布尔矩阵表示8、求关系传递闭包的Warshall算法9、FIRST与LAST关系10、优先关系的定义11、简单优先关系矩阵的构造方法12、简单优先文法的定义13、简单优先分析算法14、算符优先关系15、算符文法的定义16、算法优先关系的构造17、两个关系FIRSTITEM、LASTITEM的定义18、素短语、最左素短语的定义19、算符优先分析算法20、构造优先函数的两种方法Bell方法和Floyd方法21、简单优先分析方法和算符优先分析方法的优缺点(四)考核要求 (1)识记:FIRST与LAST关系的定义、简单优先文法的定义、算符文法的定义、两个关系FIRSTITEM、LASTITEM的定义、关系的定义、关系的自反性、对称性和传递性、与文法相关的关系、关系的布尔矩阵表示:关系和、关系积、传递闭包和自反传递闭包(2)领会:简单优先关系的定义、算符优先关系的定义、短语、直接短语(简单短语)和句柄的定义及它们在语法树中的对应关系、移进归约方法的基本思想、简单优先分析方法和算符优先分析方法的优缺点(3)简单应用:对于已知文法G,求FIRST、FIRST+、FIRST*、LAST、LAST+与LAST*;、对于己知文法G,构造其简单优先关系矩阵;对于己知文法G,并根据简单优先关系矩阵分析某一符号串是否为合法的句子;对于己知算符文法G,构造其算符优先关系矩阵;对于己知文法G,根据算符优先关系矩阵分析某一符号串是否为合法的句子;对于某文法的优先关系矩阵,构造它的优先函数;(4)综合应用:结合多个简单应用来解决的问题。第7章自下而上的LR(k)语法分析方法(一)学习目的与要求这一章专门讨论自下而上的LR(k)语法分析方法,包括LR(0)、规范LR(1)、SLR(1)和LALR分析表的构造算法。深刻理解LR分析器的逻辑结构和工作过程。这是本章的一个重点。正确理解自下而上语法分析的基本思想是移进归约分析,关键是求规范句型的句柄(活前缀)。掌握四种LR文法(LR(0)、LR(1)、SLR(1)和LALR(1)的定义和之间的关系。掌握LR(0)、LR(1)、SLR(1)和LALR(1)分析表的构造方法,和使用分析表对给定的符号串进行分析,这是本章的重点和难点。注意:LR(0)分析是其余几种分析方法的基础。(二)课程内容第一节本节介绍了LR(k)文法和LR(k)分析器的原理。第二节本节讨论了LR(0)分析表的构造。第三节本节讨论了SLR分析表的构造。第四节本节讨论了规范LR(1)分析表的构造。第五节本节讨论了LALR分析表的构造第六节本节讨论了无二义性规则在LR分析中的使用。第七节本节讨论了LR分析程序的优点, LR分析表的自动构造和四种LR文法(LR(0)、LR(1)、SLR(1)和LALR(1)之间的关系。(三)考核知识点:1、LR(k)分析器的组成2、LR分析表的分类3、LR(k)文法的定义4、活前缀的定义5 、LR( 0)项目和状态集的定义6、拓广文法的定义7、LR(0)项目集规范族的构造8、LR(0)分析表的构造方法9、LR(0)文法的定义10、SLR(1)分析表的构造方法11、SLR(1)文法定义12、SLR(1)分析表的构造方法13、LR(1)项目集族的计算14、LR(1)分析表的构造方法15、同心集的定义16、LALR(1)分析表的构造方法17、利用分析表的LR分析过程18、四种文法(LR(0)、LR(1)、SLR(1)和LALR(1))间的关系(四)考核要求(1)识记:LR(k)文法的定义、活前缀的定义、LR(0)项目、LR (0)文法的定义、SLR(1)文法定义、LR (1)文法的定义、LALR(1)文法定义(2)领会:拓广文法的定义、LR 分析方法的总控程序的结构和工作过程、LR(0)项目集规范族的构造方法、LALR(1)同心集的概念、CLOSURE(I)函数和goto函数的使用。(3)简单应用:对于已知文法G的某一项目集,求其闭包;利用活前缀的定义作判断;(4)综合应用:对于已知文法G,掌握LR(0)项目集规范族的构造、含LR(0)项目集识别其活前缀的确定的有限自动机及其分析表的构造,并能利用分析表在总控程序的指导下判断或者分析某符号串是否为文法的合法句子;对于已知文法G,掌握构造SLR(1)项目集规范族的构造、含SLR(1)项目集识别其活前缀的确定的有限自动机及其分析表的构造方法,并能利用分析表在总控程序的指导下判断某符号串是否为文法的合法句子; 对于已知文法G,掌握LR (1)项目集规范族的构造、含LR(1)项日集识别其活前缀的确定的有限自动机及其分析表的构造方法,并能利用分析表在总控程序的指导下判断某符号串是否为文法的合法句子;对于已知文法G,掌握及LALR(1)项日集规范族的构造、含LALR(1)项目集识别其活 前缀的确定的有限自动机及其分析表的构造方法,并能利用分析表在总控程序的指导下判断 某符号串是否为文法的合法句子;判断某文法是否为LR (0)文法、或SLR(1)文法、或LR(1)文法的定义,或LALR(1)文法定义。第8章语法制导翻译法(一)学习目的与要求这一章介绍语法制导翻译方法,主要讨论了语法制导翻译的基本原理、属性翻译文法以及它们在中间代码生成重的应用。正确理解语法制导翻译的基本思想和翻译模式的定义,这是本章的一个重点。掌握常见的二种中间代码形式:四元式、二元式、逆波兰表示,这是本章的另一个个重点。掌握各种语句到四元式的翻译方法,包括:简单算术表达式,布力表达式,赋值语句,条件语句,CASE语句,循环语句的翻译。这是本章的另一个难点(二)课程内容第一节本节讨论了语法指导翻译法的定义及其方法。第二节本节讨论了简单语法指导翻译法和自下而上翻译器。第三节本节讨论了简单后缀语法指导翻译法和自上而下翻译器。第四节本节讨论了构造抽象语法树的构造。第五节本节讨论了以上下文无关文法为基础的属性文法的定义,并进而给出了两种属性翻译文法:L属性文法和S属性文法。第六节本节讨论了编译程序中使用的中间代码形式第7节本节结合实例讨论属性翻译文法的应用。(三)考核知识点1、语法制导翻译的基本思想和形式定义2、翻译模式的定义3、抽象语法树的定义和使用4、属性文法的定义5、综合属性、继承属性的定义6、L属性文法、S属性文法定义7、逆波兰表示(后缀式)法的定义与使H8、四元式的定义与使用9、三元式的定义与使用10、综合属性和自下而上定值11、继承属性和自上而下定值12、算术表达式的翻译13、布力表达式到四元式的翻译14、赋值语句的翻译15、条件语句的翻译16、CASE语句的翻译17、循环语句的翻译(四)考核要求(1)识记:翻译模式的定义、属性文法的定义、综合属性、继承属性的定义、L属性文法、S属性文法定义(2)领会:语法制导翻译的基本思想和形式定义、抽象语法树的定义和应用、逆波兰表示(后缀式)法的定义、四元式的定义、三元式的定义、综合属性和自下而上定值、继承属性和自上而下定值。(3)简单应用:算术表达式的翻译;布尔表达式到四元式的翻译;赋值语句的翻译;条件语句的翻译;CASE语句的翻译;循环语句的翻译(4)综合应用:对于已知文法G和翻译任务,构造其L-属性定义,将其改造成适合于自上而下分析或自下而上分析的翻译模式。第九章 运行时存储空间组织(一)学习目的与要求这一章讨论运行时的存储空间组织与管理,其中考虑了一些重要的语言特征,如过程调用、参数传递、数组和纪录的存取方式以及多种存储分配技术。正确理解目标程序运行进存储空间的使用和组织管理方式。理解静态分配和动态存储分配基本思想。这是本章的一个重点。掌握栈式存储分配方法和堆式存储分配方法的基本思想。这是本章的另一个重点。(二)课程内容第一节本节讨论了数据区的概念和属性字。 第二节本节讨论了基本数据类型(整型、实型、布尔型和指示器型)的存储分配。第三节本节讨论了数组的存储分配。第四节本节讨论了记录结构的存储分配。第五节本节讨论了调用过程或者子程序时,参数传递的方式及其实现。第六节本节讨论了栈式存储分配方法的基本思想。第七节本节讨论了堆式存储分配方法的基本思想。第八节本节讨论了临时工作单元的存储分配。(三)考核知识点:1、数据区的概念2、静态存储分配的定义3、静态数据区的定义4、动态数据区的定义5、基本数据类型(整型、实型、布尔型和指示器型)的存储分配6、数组的存储分配7、记录结构的存储分配8、参数传递方式及其实现9、栈式存储分配的基本思想10、标识符的作用域的定义11、堆式存储分配的基本思想(四)考核要求:(1)识记:数据区的概念、静态存储分配的定义、静态数据区的定义、动态数据区的定义、标识符的作用域的定义(2)领会:数组的存储分配、记录结构的存储分配、参数传递方式及其实现、栈式存储分配、堆式存储分配的基本思想第十章 符号表的组织和查找(一)学习目的与要求这一章讨论了符号表的组织和存取符号表的各种方法。掌握符号表的作用与内容。名字的作用范围、符号表中一般应包含的内容,这是本章的重点之一。掌握符号表的构造与查找,这是本章的另一个重点。(二)课程内容第一节本节讨论了符号表的作用、符号表的内容和符号表栏目的组织第二节本节讨论了符号表中的数据。第三节本节阐述符号表构造和符号表查找的定义,并讨论了符号表的几种构造和查找方法。第四节本节讨论了分程序结构的符号表。(三)考核知识点:1、符号表的作用2、符号表的内容3、符号表栏目的组织4、符号表中的数据5、符号表构造和符号表查找的定义6、符号表的几种构造和查找方法7、分程序结构的符号表(四)考核目标(1)识记:符号表构造和符号表查找的定义 (2)领会:符号表栏目的组织、领会:符号表的三种常用的构造和查找方法(线性查找、折半法、杂凑技术)第十一章 代码优化(一)学习目的与要求这一章介绍常用的优化方法。正确理解代码优化、局部优化的定义。这是本章的一个重点。掌握基本块的定义及其求法;基于基本块的常用优化方法常量合并、公共子表达式的消除、循环中不变式的外提、运算强度削弱、变换循环控制条件。这是本章的另一个重点。理解循环优化。对循环中的代码,可以实行、强度削弱和删除归纳变量等优化。)掌握:DAG的定义、DAG的构造与基于DAG的优化的基本思想和方法。这是本章的个难点。 (5)11.6并行分支的优化,11.7窥孔优化不作考试要求(二)课程内容第一节本节讨论了基本块的定义及其求法。第二节本节结合实例讨论了常用的优化方法及其应用。第三节本节讨论如何使用变量的定义点优化。第四节本节讨论循环优化的定义和意义。第五节本节讨论了基本块的DAG表示及其应用。(三)考核知识点1、优化、局部优化的定义2、优化的目标3、优化的分类4、局部优化和全局优化的定义5、基本块的定义 6、常用的优化方法7、变量的定义点和变量的使用点8、区域变量和区域常量9、利用变量的定义点优化10、循环优化的定义11、基本块的DAG表示及其应用。(四)考核要求(1)识记:优化的定义、常用的优化方法(2)领会:优化的目标、优化的分类、局部优化和全局优化的定义、变量的定义点和变量的使用点;区域变量和区域常量、 (3)应用:基本块的DAG表示;基本块的定义及其划分(4)综合应用:掌握常用的优化方法:删除公共子表达式、复写传播、删除无用代码、代码外提、强度削弱、删除归纳变量;给定一个基本块序列,利用DAG图来优化代码。第十二章代码生成(一)学习目的与要求这一章介绍了了常用的目标代码的种类,并且讨论了给定一个假想的计算机模型生成目标代码的原理。要求理解常用的目标代码的种类。掌握给定一个假想的计算机模型从四元式、二元式、逆波兰表示和树形表示生成目标代码。这是本章的一个重点。理解寄存器的分配的定义(二)课程内容第一节本节讨论了假想的计算机模型。第二节本节讨论了从四元式如何生成代码。第三节本节讨论了从三元式如何生成代码。第四节本节讨论了从树形表示如何生成代码。第五节本节讨论了从逆波兰式如何生成代码。第六节本节讨论了寄存器的分配。(三)考核知识点1、常用的目标代码的种类2、目标代码生成要注意的基本问题3、给定一个个假想的计算机模型从四元式、二元式、逆波兰表示和树形表示生成目标代码4、寄存器的分配的定义5、寄存器分配的方法(四)考核要求(1)识记:寄存器的分配(2)领会:目标机器、目标代码的表示方法(3)简单应用:给定简单的语句,转换成其中间代码表示,然后从其中间代码表示生成目标代码。三、关于大纲的说明和考核实施要求(一)自学考试大纲的目的和作用课程自学考试大纲是根据专业考试计划的要求,结合自学考试的特点而确定。其目的是对个人自学、社会助学和课程考试命题进行指导和规定。课程自学考试大纲明确了课程学习的内容以及深广度,规定课程自学考试的范围和标准。因此,它是编写自学考试教材和辅导书的依据,是社会助学组织进行自学辅导的依据,是自学者学习教材、掌握课程内容知识范围和程度的依据,也是进行自学考试命题的依据。(二)课程自学考试大纲与教材的关系课程自学考试大纲是进行学习和考核的依据,教材是学习掌握课程知识的基本内容与范围,教材的内容是大纲所规定的课程知识和内容的扩展与发挥。大纲与教材所体现的课程内容基本一致;大纲里面的课程内容和考核知识点,教材里一般也要有。反过来教材里有的内容,大纲里就不一定体现。(注:如果教材是推荐选用,其中有的内容与大纲不一致的地方,应以大纲规定为准)(三)关于自学教材与主要参考书1、自学教材1编译原理,何炎祥等编著,华中科技大学出版社2、主要参考书1程序没计语言编译原理,陈火旺、钱家骅、孙永强编,国防科技大学出版社。2编译原理,吕映芝等编著,清华大学出版社(四)关于自学要求和自学方法的指导本大纲的课程基本要求是依据专业考试计划和专业培养目标而确定的。课程基本要求还明确课程的基本内容,以及对基本内容的掌握的程度。基本要求的知识点构成了课程内容的主体部分。因此,课程基本内容

温馨提示

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

评论

0/150

提交评论