收藏 分享(赏)

编译原理期末考试复习整理(详细列出考试重点+重点例题).doc

上传人:精品资料 文档编号:8642909 上传时间:2019-07-06 格式:DOC 页数:16 大小:1.66MB
下载 相关 举报
编译原理期末考试复习整理(详细列出考试重点+重点例题).doc_第1页
第1页 / 共16页
编译原理期末考试复习整理(详细列出考试重点+重点例题).doc_第2页
第2页 / 共16页
编译原理期末考试复习整理(详细列出考试重点+重点例题).doc_第3页
第3页 / 共16页
编译原理期末考试复习整理(详细列出考试重点+重点例题).doc_第4页
第4页 / 共16页
编译原理期末考试复习整理(详细列出考试重点+重点例题).doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、目录第一章 2词法分析: 2语义法分析 2中间代码 2第二章 21.根据语言写出文法 .22.根据文法写语,描述其特点(必考大题 2-3 类型) .33.文法的规范推导、语法树、短语、句柄(必考大题,2-7,2-11) .3第三章 31.给出一个正规文法 (左线性、右线性方法),写出其状态转换图(必考) .31.1 右线性文法写出状态转换图 (必考) 31.2 状态转换图写出右线性文法 G 31.3 左线性文法写出状态转换图 (必考) 32.非确定自动机的确定化 .3第四章 3第五章 3属性文法与属性翻译文法 3逆波兰式(大题) 3四元式(大题) 3第一章词法分析:分析源程序的结构,判断它是否

2、是相应程序设计语言的合法程序语义法分析 的任务是根据语言的语义规则对语法分析得到的语法结构进行静态的语义检查(确定类型、类型与运算合法性检查、识别含义等) ,并且转换成另一种内部形式(语义树)表示出来或者直接用目标语言表示出来。中间代码是一种结构简单、含义明确的记号系统,这种记号系统可以设计为多种多样的形式,重要的设计原则为两点:一是容易生成;二是便于优化、移值;三是容易将它翻译成目标代码第二章文法 G 定义为四元组(V N,V ,P,S )其中 VN 为非终结符号(或语法实体,或变量)集;V 为终结符号集;P 为产生式(也称规则) 的集合; VN,V 和 P 是非空有穷集。 S 称作识别符号

3、或开始符号,它是一个非终结符,至少要在一条产生式中作为左部出现。 VN和 V 不含公共的元素,即 VN V = ,通常用 V 表示 VN V ,V 称为文法 G 的字母表或字汇表。 一个文法的有如下几种写法 G=(S,A,a,b,P , S)其中 P:S aAb Aab AaAb A G:SaAb Aab AaAb A GS: Aab A aAb A S aAb GS: Aab |aAb | SaAb1.根据语言写出文法2.构造产生下列语言的文法(1) a n bn |n0解:对应文法为 G(S) = (S,a,b, S| aSb ,S) (2)anbmcp|n,m,p0解:对应文法为 G(S

4、) = (S,X,Y,a,b,c,SaS|X,XbX|Y,YcY|,S)(3)a n#bn,|n0c n#dn |n0 解:对应文法为 G(S) = (S,X,Y,a,b,c,d,#, SX, SY,XaXb|#,YcYd|# ,S)或者GS: SX|Y XaXb|#YcYd|#(4)w#wr# | w?0,1*,wr 是 w 的逆序排列解:G(S) = (S,W,R,0,1,#, SW#, W0W0|1W1|# ,S)(5)任何不是以 0 打头的所有奇整数所组成的集合解:G(S) = (S,A,B,I,J,-,0,1,2,3,4,5,6,7,8,9,SJ|IBJ,B0B|IB|e, IJ|2

5、|4|6|8, J1|3|5|7|9,S)(6)所有偶数个 0 和偶数个 1 所组成的符号串集合解:对应文法为 S0A|1B|e,A0S|1C B0C|1S C1A|0B2.根据文法写语,描述其特点( 必考大题 2-3 类型)例 3 写出文法 G:(1) SaSBE(2) SaBE(3) EBBE (4) aBab(5) bBbb (6) bEbe(7) eEee 所产生的语言。 S =aSBE =aaSBEBE = aaaBEBEBE=aaaBBEEBE=aaaBBEBEE aaaBBBEEE =aaabBBEEE =aaabbBEEE =aaabbbEEE =aaabbbeEEaaabbb

6、eeE=aaabbbeee ,即 a 3b3e3 2-3.描述语言特点(1)S10S0 SaA AbA Aa解:本文法构成的语言集为:L(G)=(10)nabma0n|n, m0。(2)SSS S1A0A1A0A解:L(G)=1n10n11n20n2 1nm0nm |n1,n2,nm0;且 n1,n2,nm 不全为零该语言特点是:产生的句子中,0、1 个数相同,并且若干相接的 1 后必然紧接数量相同连续的 0。(3)S1ASB0A1AACBB0BCC1C0C解:本文法构成的语言集为:L(G)=1p1n0n|p1,n01n0n0q|q1,n0,特点是具有 1p1n0n 或 1n0n0q 形式,进

7、一步,可知其具有形式 1n0mn,m0,且 n+m0。(4)SbAdcAAGSGAa解:可知,S=baSndc n0该语言特点是:产生的句子中,是以 ba 开头 dc 结尾的串,且 ba、dc 个数相同。(5)SaSS Sa解:L(G)=a(2n-1)|n1可知:奇数个 a3.文法的规范推导、语法树、短语、句柄(必考大题,2-7,2-11)最右推导常被称为规范推导。由规范推导所得的句型称为规范句型。语法树是对句型的推导给出的一个图形表示其语法树为:2-7.解:aacb 是文法 GS中的句子,相应语法树是:最右推导:S=aAcB=aAcb=aacb最左推导:S=aAcB=aacB=aacb(2)

8、aabacbadcd 不是文法 GS中的句子因为文法中的句子不可能以非终结符 d 结尾(3)aacbccb 不是文法 GS中的句子可知,aacbccb 仅是文法 GS的一个句型的一部分,而不是一个句子。(4)aacabcbcccaacdca 不是文法 GS中的句子因为终结符 d 后必然要跟终结符 a,所以不可能出现dc这样的句子。(5)aacabcbcccaacbca 不是文法 GS中的句子由(1)可知:aacb 可归约为 S,由文法的产生式规则可知,终结符 c 后不可能跟非终结符 S,所以不可能出现caacb这样的句子。2-11.解:(1) SAB Sc AbA Aa BaSb Bc bba

9、acb上面推导中,下划线部分为当前句型的句柄。对应的语法树为:全部的短语:第一个 a (a1)是句子 bbaacb 相对于非终结符 A (A1) (产生式 A?a)的短语(直接短语);b1a1 是句子 bbaacb 相对于非终结符 A2 的短语;b2b1a1 是句子 bbaacb 相对于非终结符 A3 的短语;c 是句子 bbaacb 相对于非终结符 S1(产生式 S?c)的短语(直接短语);a2cb3 是句子 bbaacb 相对于非终结符 B 的短语;b2b1a1a2cb3 是句子 bbaacb 相对于非终结符 S2 的短语;注:符号的下标是为了描述方便加上去的。(2)句子(b)a(a)(b

10、)的最右推导:S(AS)(A(b)(SaA)(b)(Sa(a)(b)(b)a(a)(b)相应的语法树是:(3)解:iii*i+对应的语法树略。最右推导:E =F=FP FE FE+ FEF+ FEP+ FEi+Fi+ FF*i+FP*i+ Fi*i+FFi*i+ FPi*i+Fii*i+ Pii*i+iii*i+四类文法在描述语法的能力上是依次减弱的.因而有:第三章1.给出一个正规文法 (左线性、右线性方法) ,写出其状态转换图(必考)1.1 右线性文法写出状态转换图 (必考) 1.2 状态转换图写出右线性文法 G对应的右线性文法为:S aBBbCCbC|aFFcF|对应的右线性文法为:S A

11、b|bCBbC|aCbC|a1.3 左线性文法写出状态转换图 (必考)例 1:文法 G(E)为:EEa|BaBa|Bb画出该文法对应的状态转换图。例 2:(课堂练习) 文法 G(Z)为:ZU0|V1UZ1|1VZ0|0画出该文法对应的状态转换图。2.非确定自动机的确定化NFA N第四章第五章属性文法与属性翻译文法文法符号的语义性质称为该文法符号的语义属性(Attributes) ,简称为属性。属性文法 AG 是一个四元组:AG=(G,A,R,B), 其中,G 是已简化的 CFG; A= XV A(X)是属性的有限集合;R= pP R(p)是属性定义规则的有限集;B= pP B(p)是条件的有限

12、集合,B(p) 用于描述使规则 R(p)有效的条件属性文法实际上就是对前后文无关文法的一种拓广逆波兰式(大题)例 1:写出条件语句 IF a0 THEN x:=x+1 ELSE x :=4*(x-1)的逆波兰表示解:假设 BZ 表示假(0) 转,BR 表示无条件转;再假设该条件语句的逆波兰形式的首地址为 21,则得该语句的逆波兰表示为:例 2:写出当型语句子 课堂练习WHILE x+y3 DO BEGIN a:=a+3*b; b:=a+e-f*eEND; 的逆波兰表示.解: 假设 BZ,表示假(0)转,BR 表示无条件转,再假设该语句的逆波兰形式的首地址为 1,该语句的逆波兰表示为:四元式(大

13、题)当 op 为一元运算符时,对应的四元式为:(op,arg1,-,result)当 op 为跳转语句时,对应的四元式为:(jrop,arg1, arg2 ,地址)如:当 ab 时跳转到 100,表示为:(j,a, b ,地址)无条件转移语句, 对应的四元式为: (j,-,-,地址) 。例:写出 a:=b*c+b*d 的四元式表示。解:四元式如下:(*,b,c,t1)(*,b,d,t2)(+,t1,t2,t3)(:=,t3,-,a)例如,对于条件语句if A BC then S 1 else S2经翻译后,可得四元式序列:1 (jnz,A,-,5)2 (j ,- ,-,3)3 (j ,B,C,5)4 (j ,-,-,p+1)5 S 1 相应的四元式序列p (j ,-,-,q)p+1 S 2 相应的四元式序列q

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报