ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:140.49KB ,
资源ID:21880442      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21880442.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(重点编译原理资料 A4排版Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

重点编译原理资料 A4排版Word文档格式.docx

1、S(L)SaSSSSSSLLLLSLL,SL3. 设文法G(S):(12分)1 构造各非终结符的FIRSTVT和LASTVT集合;2 构造优先关系表和优先函数。1.FIRSTVT(S)=i, +, ), ( FIRSTVT(A)=+, ), ( FIRSTVT(B)= ), ( LASTVT(S)=i, +, *, ( LASTVT(A)=+, *, ( LASTVT(B)=*, ( 1优先关系表:+*优先函数:f261g44. 已知文法G(E) ET|ET TF|T *F F(E)|i (1)给出句型(T *Fi)的最右推导;(2)给出句型(T *Fi)的短语、素短语。(1) 最右推导:E

2、-T-F-(E)-(E T)-(E F)-(E i)-(Ti)-(T*Fi)(2) 短语:(T*Fi) ,T*Fi ,T*F,i 素短语:T*F,i 最左素短语:T*F简单短语:句柄:T*F 5.设文法()为:求()项目集族;构造识别文法()的;构造文法()的SLR()的分析表;分析句子的识别过程。(1)、(2)LR(0)项目集族和识别活前缀的DFA,如图A-19所示。图A-19 LR(0)项目集族和DFA(3)、(4)略。6.设将文法G改写成等价的LL(1)文法,并构造预测分析表 GS 为:SA;ABA|;BaB|b求:(1) 构造的DFA (10分)(2) LR(1)分析表 (10分)(3

3、)输入串abab 的分析过程为:(10分)(1)拓广文法G:(0)SS (1)SA (2)ABA (3)A (4)BaB (5)Bb; FIRST(A)=,a,b; FIRST(B)=a,b构造的DFA如下:项目集规范族看出,不存在冲突动作。 所以,该文法是LR(1)文法。(2)LR(1)分析表如下:状态ActionGotobAS4S5r33accr1s4R375r5r2r4R4(3)输入串abab的分析过程为:步骤状态栈符号栈当前字符剩余字符串动作(1)bab#移进(2)04#aab#(3)045#abb#归约Bb(4)047#aB归约BaB(5)03#B(6)034#Ba(7)0345#B

4、ab(8)0347#BaB(9)033#BB归约A(10)0336#BBA归约ABA(11)036#BA(12)02#A归约SA(13)01#S7.设=0,1上的正规集S由倒数第二个字符为1的所有字符串组成,请给出该字集对应的正规式,并构造一个识别该正规集的DFA。(8分)8.设有文法G(S):aBc|bABAaAb|bBb| 求各产生式的FIRST集,FOLLOW(A)和FOLLOW(B)。已及各产生式的SELECT集。 构造LL(1)分析表,并分析符号串baabbb是否是。1解:FIRST(aBc)=a,FIRST(bAB)=b,FIRST(aAb)=a,Ab:FIRST(Ab)=b,Bb

5、:FIRST(b)=b,FIRST()=FOLLOW(A)=b,#, FOLLOW(B)=c,#SELECT(SaBc)=a, SELECT(SbAB)=b, SELECT(AaAb)=a, SELECT(Ab)=b, SELECT(Bb)=b, SELECT(B)=c,# 因此,所得的LL(1)分析表如表 A-4 所示表 A-4 LL(1)分析表输入输入符号cSaBcSbABAaAbAbBbB2分析符号串baabbb成功,baabbb是该文法的句子,如图A-16所示。输入串所用的产生式baabbb#BAbaabbb#BbAa#BbAabbb#AaAB#BbbAa#BbbAbbb#8#Bbbb

6、9#Bbbbb#10#Bb1112成功9. 对下列文法G(S):10.对文法GS S aSb | PPbPc | bQcQ Qa | a(1) 它是否是算符优先文法?请构造算符优先关系表文法GS消除左递归、提取左公因子后是否是LL(1)文法?请证实。简单优先关系矩阵如下:PQ=A0 A-A0|S1|0 该自动机是确定的吗?若不确定,则对它确定化。由于该文法的产生式S-A0,A-A0|S1中没有字符集VT的输入,所以不是确定的自动机。要将其他确定化,必须先用代入法得到它对应的正规式。把S?A0代入产生式A?S1有:A=A0|A01|0=A(0|01)|0=0(0|01)*。代入S-A0有该文法的

7、正规式:0(0|01)*0,所以,改写该文法为确定的自动机为:由于状态A有3次输入0的重复输入,所以上图只是NFA,下面将它确定化:下表由子集法将NFA转换为DFA:13.设文法G(S):S(T) | aTT+S | S(1)计算FIRSTVT 和LASTVT;(2)构造优先关系表。(1) FIRSTVT(S)=a, ( FIRSTVT(T)=+, aa, (LASTVT(S)=a, ) LASTVT(T)=+, a, ).=.14. 已知文法G(S)SBAABS| dBaA| bS | c的预测分析表如下: a b c d # S AABSAd BBaA BbS Bc给出句子 adccd 的

8、分析过程。句子 adccd 的分析过程:产生式adccd#AB#AAa#AAdccd#Adccd#SB#Scccd# Bc#S cd# cd#Acd#A #d13# 15.对表达式文法G:E E+T | TT T*F | FF (E) | I(1)造各非终结符的FIRSTVT和LASTVT集合;(2)构造文法的算符优先关系表。FIRSTVTLASTVTETF*,+,(,i*,(,i(,i*,+,),i*,),i),i(2)算符优先关系表I16.写一个文法,使其语言是:L 1n0m1m0n | m,n0 17.为正规式(a|b) *a(a|b)构造一个确定的有限自动机。18.已知文法G为:(1)

9、 SS(2) SaAd(3) SbAc(4) Saec(5) Sbed(6) A e 试构造它的LR(1)项目集、可归前缀图和LR(1)分析表。19.已知文法 GE 为:ET|E+T|E-T TF|T*F|T/F F ( E )| i 该文法的开始符号(识别符号)是什么? 请给出该文法的终结符号集合 VT 和非终结符号集合 VN 。 找出句型 T+T*F+i 的所有短语、简单短语和句柄。该文法的开始符号(识别符号)是E。该文法的终结符号集合VT=+、-、*、/、(、)、i。非终结符号集合VN=E、T、F。句型T+T*F+I的短语为i、T*F、第一个T、T+T*F+i;简单短语为i、T*F、第一

10、个T;句柄为第一个T。20.设=0,1上的正规集S由倒数第二个字符为1的所有字符串组成,请给出该字集对应的正规式,并构造一个识别该正规集的DFA21. 设已构造出文法G(S):(1) S BB(2) B aB(3) B b的LR分析表如下ACTIONGOTOs3s6s7假定输入串为abab,请给出LR分析过程(即按照步骤给出状态,符号,输入串的变化过程)。22. 已知文法G(S)SbAaA(B | a)BAa写出句子b(aa)b的规范归约过程句子b(aa)b的规范归约过程:b(aa)b#预备#b(aa)b#b(aa)b#3 #b(aa)b#b(A归约#b(Ma)b#b(Ma)#b(B#bA#b

11、Ab接受1、 填空题1.(最右推导)称为规范推导。2.编译过程可分为(词法分析),(语法分析),(中间代码生成),(代码优化)和(目标代码生成)五个阶段。3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是(二义性的)。4.从功能上说,程序语言的语句大体可分为(执行性)语句和(说明性)语句两大类。5.语法分析器的输入是(单词符),其输出是(语法单位 )。6.扫描器的任务是从(源程序)中识别出一个个(单词符号)。7.符号表中的信息栏中登记了每个名字的有关的性质,如(类型、种属、所占单元大小、地址)等等。8.一个过程相应的DISPLAY表的内容为(现行活动记录地址和所有外层最新活动记录

12、的地址 )。9.一个句型的最左直接短语称为句型的(句柄)。10.常用的两种动态存贮分配办法是(栈式)动态分配和(堆式)动态分配。11.一个名字的属性包括( 类型)和( 作用域)。12.常用的参数传递方式有( 传地址),(传值)和(传名)。13.根据优化所涉及的程序范围,可将优化分成为(局部优化 ),(循环优化)和(全局优化)三个级别。14.语法分析的方法大致可分为两类,一类是(自上而下)分析法,另一类是(自下而上)分析法。15.预测分析程序是使用一张(分析表)和一个(符号栈)进行联合控制的。16.一张转换图只包含有限个状态,其中有一个被认为是(初)态;而且实际上至少要有一个(终)态。17.语法

13、分析是依据语言的(语法)规则进行。中间代码产生是依据语言的(语义)规则进行的。18.一个文法G,若它的预测分析表M不含多重定义,则该文法是(LL(1)文法。19.对于数据空间的存贮分配, FORTRAN采用(静态)策略, PASCAL采用(动态)策略。20.如果一个文法存在某个句子对应两棵不同的语法树, 则称这个文法是(二义性文法)。21.最右推导亦称为(规范推导),由此得到的句型称为(规范)句型。22.对于文法G,仅含终结符号的句型称为 (句子)。23.所谓自上而下分析法是指(从开始符号出发,向下推导,推出句子)。24.语法分析器的输入是(单词符号),其输出是(语法单位 )。25.局限于基本

14、块范围的优化称(语法单位)。26.2型文法又称为(上下文无关)文法;3型文法又称为(正规)文法。27.每条指令的执行代价定义为(指令访问主存次数加1)。28.算符优先分析法每次都是对(最左素短语)进行归约。29. 不同的编译程序关于数据空间的存储分配策略可能不同,但大部分编译中采用的方案有两种:静态存储分配方案和动态存储分配方案,而后者又分为栈式动态存储分配和堆式动态存储分配。30. 规范规约是最左规约。31. 编译程序的工作过程一般划分为5个阶段:词法分析、语法分析、语义分析与中间代码生成,代码优化及目标代码生成。另外还有表格管理和出错处理。32表达式x+y*z/(a+b)的后缀式为xyz*

15、ab+/+。33文法符号的属性有综合属性和继承属性。34假设二位数组按行存放,而且每个元素占用一个存储单元,则数组a1.15,1.20某个元素ai,j的地址计算公式为a+(i-1)*20+j-1。35局部优化是局限于一个基本块范围内的一种优化。二 选择题1. 一个上下文无关文法G包括四个组成部分:一组终结符,一组非终结符,一个(C ),以及一组(B )。A 字符串 B 产生式 C 开始符号 D 文法2.程序的基本块是指( D)。A 一个子程序 B 一个仅有一个入口和一个出口的语句C 一个没有嵌套的程序段 D 一组顺序执行的程序段,仅有一个入口和一个出口3. 高级语言编译程序常用的语法分析方法中

16、,递归下降分析法属于( B )分析方法。A 自左向右 B 自顶向下 C 自底向上 D 自右向左4在通常的语法分析方法中,( A )特别适用于表达式的分析。A 算符优先分析法 B LR分析法C 递归下降分析法 D LL(1)分析法5经过编译所得到的目标程序是(D )。A 四元式序列 B 间接三元式序列C 二元式序列 D 机器语言程序或汇编语言程序6 一个文法所描述的语言是( A);描述一个语言的文法是(C )。A 唯一的 B 不唯一的 C 可能唯一,也可能不唯一7 如果在文法G中存在一个句子,当其满足下列条件( BCD )之一时,则称该文法是二义文法。A 其最左推导和最右推导相同 B 该句子有两

17、个不同的最左推导C 该句子有两个不同的最右推导 D 该句子有两棵不同的语法树E 该句子对应的语法树唯一8 下面( BCD )语法制导翻译中,采用拉链回填技术。A. 赋值语句 B. 布尔表达式的计算 C. 条件语句 D. 循环语句9. 运行阶段的存储组织与管理的目的是(C)。 提高编译程序的运行速度 节省编译程序的存储空间 提高目标程序的运行速度 为运行阶段的存储分配做准备可选项有:A. B. C. D. 三、判断题:1.一个上下文无关文法的开始符,可以是终结符或非终结符。 ( )2.一个句型的直接短语是唯一的。3.已经证明文法的二义性是可判定的。4.每个基本块可用一个DAG表示。 ( )5.每

18、个过程的活动记录的体积在编译时可静态确定。6.2型文法一定是3型文法。7.一个句型一定句子。8.算符优先分析法每次都是对句柄进行归约。 ( 9.采用三元式实现三地址代码时,不利于对中间代码进行优化。10.编译过程中,语法分析器的任务是分析单词是怎样构成的。11.一个优先表一定存在相应的优先函数。12.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。13.递归下降分析法是一种自下而上分析法。14.并不是每个文法都能改写成LL(1)文法。15.每个基本块只有一个入口和一个出口。16.一个LL(1)文法一定是无二义的。17.逆波兰法表示的表达试亦称前缀式。18.目标代码生成时,应考虑如何充分

19、利用计算机的寄存器的问题。19.正规文法产生的语言都可以用上下文无关文法来描述。 ( )20.一个优先表一定存在相应的优先函数。21.3型文法一定是2型文法。22.如果一个文法存在某个句子对应两棵不同的语法树,则文法是二义性的。( )四、名词解释题:1.局部优化-局限于基本块范围的优化称。2.二义性文法-如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义性文法。3.DISPLAY表-过程的嵌套层次显示表,记录该过程的各外层过程的最新活动记录的起始地址。4.词法分析器-执行词法分析的程序。5.最左推导-任何一步=都是对中的最右非终结符替换。6.语法-一组规则,用它可形成和产生一组合式的程序。7.文法-描述语言的语法结构的形式规则。8.基本块-指程序中一顺序执行的语句序列,其中只有一个入口和一个出口,入口就是其中的第一个语句,出口就是其中的最后一个语句。9.语法制导翻译-在语法分析过程中,根据每个产生式所对应的语义子程序进行翻译的办法叫做语法制导翻译。10.短语-令G是一个文法,S划文法的开始符号,假定是文法G的一个句型,如果有SA且A,则称是句型相对非终结符A的短语。11.待用信息-如果在一个基本块中,四元式i对A定值,四元式j要引用A值,而从i到j之间没有A的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1