编译原理期末复习

上传人:大米 文档编号:551234977 上传时间:2023-12-19 格式:DOCX 页数:15 大小:93.88KB
返回 下载 相关 举报
编译原理期末复习_第1页
第1页 / 共15页
编译原理期末复习_第2页
第2页 / 共15页
编译原理期末复习_第3页
第3页 / 共15页
编译原理期末复习_第4页
第4页 / 共15页
编译原理期末复习_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《编译原理期末复习》由会员分享,可在线阅读,更多相关《编译原理期末复习(15页珍藏版)》请在金锄头文库上搜索。

1、编译原理期末复习鉴于编译原理马上就要期末考试,我将手中集中的一些资料上的题目进行了整理归类,每种类型题目给出了所涉及到的基本知识,然后对每类题目中的第一道例题进行了做法进行了讲解,剩下的例题请给大家作为练习,答案也都给出,希望对大家复习有所帮助,最后由于时间很紧,整理的有些仓促,整理中难免有遗漏或错误,请大家见谅。注:下面出现的字母中,若无特别说明,小写英文字母为终结符,大写英文字母为非终结符,希腊字母为终结符与非终结符的任意组合。1、简答题(或者名词解释)下面涉及到的概念中,加下划线的都是在以往一些试卷中出现的原题,务必掌握。注:这类题目老师说答案不会超过一百个字,否则写的再多也不给分,有些

2、点到即可,不要重复啰嗦。 (1)简述编译程序的概念及其构成答:1)编译程序:它特指把某种高级程序设计语言翻译成等价的低级程序设计语言的翻译程序。2)构成: (2)简述词法分析阶段的主要任务(也有可能问语法分析阶段主要任务)答:词法分析的任务是输入源程序,对源程序进行扫描,识别其中的单词符号,把字符串形式的源程序转换成单词符号形式的源程序。 语法分析的主要任务是对输入的单词符号进行语法分析(根据语法规则进行推导或者归约),识别各类语法单位,判断输入是不是语法上正确的程序(3) 简述编译程序的构造过程(这个大家看看,是对(1)和(2)的综合)答:1)构造词法分析器:用于输入源程序进行词法分析,输出

3、单词符号; 2)构造语法分析器:对输入的单词符号进行语法分析,识别各类语法单位,判断输入是不是语法上正确的程序3)构造语义分析和中间代码产生器:按照语义规则对已归约出的语法单位进行语义分析并把它们翻译成中间代码。4)构造优化器:对中间代码进行优化。 5) 构造目标代码生成器:把中间的代码翻译成目标程序。6) 构造表格管理程序:登记源程序的各类信息和编译各阶段的进展情况。7)构造错误处理程序:对出错进行处理。(4) 说明编译和解释的区别:1)编译要程序产生目标程序,解释程序是边解释边执行,不产生目标程序; 2)编译程序运行效率高而解释程序便于人机对话。(5) 文法:描述语言语法结构的形式规则,一

4、般用一个四元式表示: G=(VT,VN,S,P),其中VT:终结符集合(非空) VN:非终结符集合(非空),且VT ? VN=? S:文法的开始符号,S?VN P:产生式集合(有限)。 (6)二义性文法:一个文法中存某个句子,它有两个不同的最左(或者最右推导),则称该文法是二义性的。例子如文法G:Sif expr then S |other Sif expr then S else S 句子if e1 then if e2 then s1 else s2是二义性的。(7)文法的形式(注:文法的形式一定要牢记,特别是2型和3型文法一定要牢记,不仅在概念题中有用,在下面的根据语言写文法题中也有重要

5、作用,如果所写的文法形式不对,一切都是无用功)1)0型文法(短语文法,图灵机):产生式形式为:? ? ? ,其中:? (VT ? VN)*且至少含有一个非终结符;? (VT ? VN)* 2)1型(上下文有关文法,线性界限自动机):产生式形式为:? ? ? 其中:|?| ? |?|,仅 S? 例外但是S不得出现在任何产生式右部。 3)2型文法(上下文无关文法,非确定下推自动机):产生式形式为:P?, P?VN, ? ? (VT ? VN)* 。4)3型文法(正规文法,有限自动机):右线性文法:产生式形如:A ? ?B 或 A ? ?其中:? VT*;A,B?VN 左线性文法:产生式形如:A ?

6、 B? 或 A ? ? 其中:? VT*;A,B?VN 例题:设G=(VT,VN,S,P)是一个上下文无关文法,产生集合P中的任一个产生式应具有什么样的形式?若G是1型文法呢?若G是正则文法呢?上下文无关文法, 产生式形式为:P?, P?VN, ? ? (VT ? VN)* 。1型文法:产生式形式为:? ? ? 其中:|?| ? |?|,仅 S? 例外。正则文法:右线性文法:产生式形如:A ? ?B 或 A ? ?其中:? VT*;A,B?VN 左线性文法:产生式形如:A ? B? 或 A ? ? 其中:? VT*;A,B?VN (8)什么是PDA(下推自动机)? 答:PDA是下推自动机,PD

7、A M用一个七元组表示(K,f,H,h0,S,Z)K: 有穷状态集 ?:输入字母表(有穷) H:下推栈符号的有穷字母表h0 :H中的初始符号 f: K ?(?) ? H K ? H* S:属于K是初始状态。Z:包含于K,是终结状态集合。(9) 什么是DFA(有穷状态自动机)?自动机M是一个五元式M=(S, ?, f, S0, F),其中:1)S: 有穷状态集, 2) ?:输入字母表(有穷),3) f: 状态转换函数,为S?S的单值部分映射,f(s,a)=s表示:当现行状态为s,输入字符为a时,将状态转换到下一状态s。我们把s称为s的一个后继状态。4) S0?S是唯一的一个初态; 5) F?S

8、:终态集(可空)。(10)推导:所谓推导就是对于一个含非终结符A的符号串,利用规则A,把A替换成得到新符号串的过程。 最左推导:在推导的每一步,选择符号串最左边的非终结符进行替换。 最右推导:在推导的每一步,选择符号串最右边的非终结符进行替换。(11)归约:归约是推倒的逆过程,即用产生式的左部非终结符替换右部符号串。(12)什么是句型?什么称为句子?什么是语言? 句型:从文法的起始符号出发,经过有限步的推导能够推导出来的符号称为句子。 句子:只由终结符构成的句型称为句子。语言:所有句子的集合构成该文法描述的语言。(13)什么是短语?什么是直接短语(也称为简单短语)?什么是句柄?什么是素短语?什

9、么是最左素短语?(以下几个概念一定要理解,考试中肯定会考哪些是短语,直接短语,句柄等,具体方法请参见后面的)短语:如果存在某个文法非终结符P,满足S P,并且P则称为句型相对于非终结符P的短语。直接短语:如果P?,即从P出发一步推出,则称为直接短语。句柄:一个句型的最左直接短语称为该句型的句柄。素短语:至少含有一个终结符的短语,并且除了自身外,不包含更小的素短语。最左素短语:句型中最左边的素短语。(14)自顶向下的语法分析方法中需要解决的主要问题什么?如何表示?答:1)主要需要解决回溯和左递归问题。 2)表示方式,回溯:文法中存在形如A1|2|n ,即产生式右部存在多个候选,导致推导时不能确定

10、到底应该选择哪个候选式。 左递归:文法中存在形如PP的形式,推导时会导致推导过程无休止的进行下去。注:解决方法,对回溯采取的是提取左公因子,对左递归使消除左递归(包括直接左递归和间接左递归)。(15)内情向量:一般编译程序对数组说明的处理是把数组的有关信息汇集在一个叫做“内情向量”或“信息向量”的表格中,以便以后计算数组元素的地址时引用这些信息。每个数组有一个内情向量。其中的信息包括,数组的类型,维数,各维的上、下界,以及数组的首地址。(16) C语言的活动记录:2、最左最右推导,画语法树,找短语、直接短语、句柄等。这种题目很简单,送分题,一定不能丢分!考题:1)文法GS为:SSdT | T

11、TTG | G G(S) | a试给出句型(SdG)a的推导过程及语法树,并找出(SdG)a的短语,直接(简单)短语、句柄和最左素短语。分析:(1)推导和画语法树这些都很简单,不再赘述。 (2)根据所画出的语法树,可以很快的找出短语,直接短语,句柄和最左素短语等,先讲一个简单子树的概念,所谓简单子树是指仅具有单层分支的子树。具体方法如下:短语:任一子树的树叶全体(具有共同祖先的叶节点符号串)皆为短语;直接短语:任一简单子树的树叶全体(具有共同父亲的叶节点符号串)皆为简单短语;句柄:最左边的直接短语;素短语:至少含有一个终结符的短语,并且除了自身外,不包含更小的素短语。 最左素短语:最左边的素短

12、语。答:(1)S?T? TG ?GG?(S)G?(SdT)G?(SdG)G?(SdG)a语法树:(2)短语:G,SdG, (SdG), a, (SdG)a 直接短语:G,a 句柄:G 最左素短:a注:还有一份试卷将句型改为adT(S),与这个类似,大家自己做做,答案是短语:a,(S),T(S),adT0对应文法SaS| a 如果是n=0则为SaS|(是空字)anbn | n0对应文法SaSb| ab下面这四道题目老是在试卷中重复出现,所以大家好好看看。考题1、按指定类型给出下列语言的文法,并指出语言的类型。(10 分)(1)L1=anbmcn| n0,m0 二型文法:SaSc|B BbB|b(

13、2) L2= 0na1nbmcm| n0,m 0 二型文法:SAB A0A1|0a1 BbBc|2、按指定类型给出下列语言的文法。(10 分)(1)L1= candbm| n0,m0 用正规文法。ScA AaA|dB BbB|b (2)L2= 0na 1nbmcm| n0,m 0用二型文法。 SAB A0A1|0a1 BbBc|3、按指定的类型给出下列语言的文法(10 分)(1)L1= canbm| n0,m0 用正规文法。ScA AaA|B BbB|b(2)L2= 0na 1nbm| n0,m 0 用二型文法。SAB A0A1|0a1 BbB|4、按指定的类型给出下列语言的文法(10 分)(1) L1=anbmc|n=0,m0用正规文法SaS|A AbA|bB Bc(2) L2=a0n1nbdm|n0,m0用二型文法SAB AaT T0T1|01 BbD DdD|d这是书P36 第11题的答案如下:大家作为练习,可以发现比上述题目简

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号