编译原理期末考试题目及答案_第1页
编译原理期末考试题目及答案_第2页
编译原理期末考试题目及答案_第3页
编译原理期末考试题目及答案_第4页
编译原理期末考试题目及答案_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、一、填空题(每空2 分,共20 分)1编译程序首先要识别出源程序中每个单词,然后再分析每个句子并翻译其意义。2编译器常用的语法分析方法有自底向上 和自顶向下两种。3通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的码优化与目标代码的生成则是对源程序的综合。分析,中间代码生成、代4程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即静态存储分配 方案和 动态存储分配方案。5对编译程序而言,输入数据是源程序 ,输出结果是 目标程序 。1计算机执行用高级语言编写的程序主要有两种途径:解释和编译 。2扫描器是 词法分析器,它接受输入的源程序,对源程序进行

2、词法分析 并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。3自下而上分析法采用移进、归约、错误处理、接受等四种操作。4一个 LL ( 1)分析程序需要用到一张分析表 和符号栈。5后缀式abc-/所代表的表达式是a/(b-c)。二、单项选择题(每小题2 分,共 20 分)1词法分析器的输出结果是_C。A 单词的种别编码B 单词在符号表中的位置C 单词的种别编码和自身值D 单词自身值2 正规式M 1 和 M 2 等价是指 _C_。A M1 和 M2 的状态数相等B M1 和 M2 的有向边条数相等C M1 和 M2 所识别的语言集相等D M1 和 M2 状态数和有向边条数相等3 文

3、法 G: S xSx|y 所识别的语言是_C_。A xyxB (xyx)*C xnyxn(n 0)D x*yx*4如果文法G 是无二义的,则它的任何句子 _A。A 最左推导和最右推导对应的语法树必定相同B最左推导和最右推导对应的语法树可能不同C最左推导和最右推导必定相同D 可能存在两个不同的最左推导,但它们对应的语法树相同5构造编译程序应掌握_D_。A 源程序B目标语言C 编译方法D以上三项都是6四元式之间的联系是通过_B_实现的。A 指示器B临时变量C符号表7表达式 ( A B) (C D) 的逆波兰表示为_B_ 。A AB CD B AB CDCD程序变量 AB CDDAB CD8. 优化

4、可生成 _D_的目标代码。A 运行时间较短C运行时间短但占用内存空间大B占用存储空间较小D运行时间短且占用存储空间小9下列 _C_优化方法不是针对循环优化进行的。A. 强度削弱B删除归纳变量C删除多余运算D代码外提10编译程序使用_B_区别标识符的作用域。A. 说明标识符的过程或函数名C说明标识符的过程或函数的动态层次B说明标识符的过程或函数的静态层次D. 标识符的行号三、判断题(对的打,错的打,每小题1 分,共10 分)2一个有限状态自动机中,有且仅有一个唯一的终态。x3一个算符优先文法的每个非终结符号间都也可能存在优先关系。X4语法分析时必须先消除文法中的左递归。 X6逆波兰表示法表示表达

5、式时无须使用括号。R9两个正规集相等的必要条件是他们对应的正规式等价。X1编译程序是对高级语言程序的编译执行。X2一个有限状态自动机中,有且仅有一个唯一的初始态。R3一个算符优先文法的每个非终结符号间都不存在优先关系。R4 LL ( 1)语法分析时必须先消除文法中的左递归。 R5 LR 分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。R6逆波兰表示法表示表达式时根据表达式会使用括号。X7静态数组的存储空间可以在编译时确定。X8进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。X9两个正规集相等的必要条件是他们产生的符号串是相同的。R10一个语义子程

6、序描述了一个文法所对应的翻译工作。X1 什么是S-属性文法?什么是L- 属性文法?它们之间有什么关系?S-属性文法是只含有综合属性的属性文法。(2 分)L- 属性文法要求对于每个产生式AX1X2Xn,其每个语义规则中的每个属性或者是综合属性,或者是Xj的一个继承属性,且该属性仅依赖于:(1)产生式 Xj 的左边符号 X1,X2Xj -1(2)A的继承属性。S-属性文法是 L- 属性文法的特例。的属性;(2 分)(分)什么是L ()分析器什么是L ()分析器所谓 LR( ) 分析,是指从左至右扫描和自底向上的语法分析,且在分析的每一步,只须根据分析栈当前已移进和归约出的全部文法符号,并至多再向前

7、查看0 个输入符号,就能确定相对于某一产生式左部符号的句柄是否已在分析栈的顶部形成,从而也就可以确定当前所应采取的分析动作( 是移进还是按某一产生式进行归约等) 。五、综合题(共40 分)1(10 分)对于文法GS:S 1A |0B |A 0S |1AAB 1S |0BB(3分 )请写出三个关于GS的句子; (4 分 ) 符号串 11A0S 是否为 G S 的句型?试证明你的结论。 (3 分 ) 试画出 001B 关于 G S 的语法树。答:( 1) 三个0 和 1 数量相等的串(每个1 分)( 2) S = 1A = 11AA = 11A 0S( 3)2. ( 10 分)设有语言L= | 0

8、,1+ ,且 不以0 开头,但以00 结尾。2 分)试写出描述 L 的正规表达式;(分)构造识别DFA的状态转换图 ) 。L 的 DFA (要求给出详细过程,并画出构造过程中的NFA 、DFA 的状态转换图,以及最小答:( 1 )(分)正规表达式:1(0|1)* 00( 2 )(分)第一步(分) :将正规表达式转换为NFA第二步(分) :将 NFA 确定化为DFA :(分)状态 输入I 0I 1t01SA,D,Bq0q1A,D,BD,B,CD,B重新命名q1q2q3D,B,CD,B,C,ZD,Bq2q4q3D,BD,B,CD,Bq3q2q3D,B,C,ZD,B,C,ZD,Bq4q4q3DFA

9、的状态转换图(分)第三步(分) :将 DFA 最小化 :(分)将状态划分终态与非终态两个集合:,根据、集合的情况,对集合进行划分状态 输入I 0I 1将状态集划分为两个集合:,根据、集合的情况,对集合进行划分状态 输入I 0I 1将状态集划分为两个集合:,根据、集合的情况,对集合进行划分状态 输入I 0I 1最小 DFA 的状态转换图(分)(20 分)给定文法GE:E E+T|TTT*F|FF (E)|i该文法是 LL(1) 文法吗?(要求给出详细过程,如果是LL( 1),给出分析表)答:( 1)该文法不是 LL( 1)文法,因为有左递归,消除左递归可获得一个LL( 1)文法(2 分)( 2)

10、 消除左递归,得新文法(3 分)E TEE+TE| TFTT *FT | F (E)|i(3) 求产生式右部的First集(2.5 分)First(TE ) = First(T)=First(F)=(,iFirst(+TE ) = +First(FT) = First(F)=(,iFirst(*FT) = *First(E)= (First(i)= i( 4) 求所有非终结符的 Follow 集(2.5 分 )Follow(E)=$,)Follow(E )=Follow(E)= $,)Follow(T)=First(E ) Follow(E)=+$,)=$,+,)Follow(T )=Foll

11、ow(T)=$,*,)Follow(F)= First(T) Follow(T)Follow(T )=$,*,)( 5) 求所有产生式的 Select 集 (2.5 分 ) Select ( E TE) =First(TE )= (,i Select (E +TE) =First(+TE )= + Select (E ) = Follow(E ) = $,) Select ( T FT) =First(FT )= (,iSelect (T *FT) =First(*FT)=*Select (T ) =Follow(T ) =$,+,)Select ( F (E) ) =First(E)=(Se

12、lect ( F i ) =First(i)=i( 6)对相同左部的所有Select即求交集 (2.5分)Select (E +TE) Select (E) = Select (T *FT) Select (T) =Select ( F (E) ) Select ( F i ) =所以,改造后的文法是LL(1)文法,其分析表如下( 7) LL(1) 分析表(5 分)V NV T+*i()$EETEETEEE +TEE E TTFTTFTTT T *FTT T FF(E)F i1(10 分)对于文法 G:S aSbS|aS|d证明该文法是二义性文法。答:一个文法,如果存在某个句子有不只一棵语法分

13、析树与之对应,那么称这个文法是二义性文法。(5分)句子 aadbd 有两棵语法树( 5 分,划一棵树给3 分)。如下图:(分)SSaSbSaSaSdaSbSddd(1)(2)由此可知, SaSbS|aS|d 定义的文法是二义性文法。(20 分)给定一个简单的算术表达式文法GE:E E+T|TTT*F|FF (E)|i该文法是SLR(1)文法吗?(要求给出详细过程,如果是SLR文法,给出分析表)答:(1) 该文法的拓广文法是: (2 分 )E E( 1)E E+T( 2)E T( 3)TT*F( 4)T F( 5)F(E)(6)F i(7)( 2) 相应的 LR( 0)的 DFA:( 10 分)

14、I0:E.EE .E+TE.TT .T*FT .FF .(E)F .iiI5:F i.E +FT(iE(I1:E E.E E.+TI3:FT F.I2:E T.T T.*F*TFI7:*(I4:T T*.FF .(E)F (.E)F .iE .E+TE .TiFT .T*F(T .FI11:F .(E)T T*F.F .iI6:E E+.TiT .T*FT.FF .(E)F .iTI8:E E+T. T T.*FI9:+F (E.)I10:E E.+TF (E).)(3) 冲突与解决(3 分) I1 状态中有移进规约冲突Follow(E )=$ 不含 + 可解决移进规约冲突 I2 状态中有移进

15、规约冲突Follow(E)=+,),$ 不含 *可解决移进规约冲突 I8 状态中有移进规约冲突Follow(E)=+,),$ 不含 *可解决移进规约冲突(4) SLR分析表(5 分)ACTIONGOTO+*i()$ETF0S5S41231S6接受2r3S7r3r33r5r5r5R5r5r54S5S49235r7r7r7r7r7r76S5S4837S5S4118r2S7r2r29S6S1010r6r6r6r6r6r611r4r4r4r4r4r4二、单项选择题(每小题1语言是 _C_2 分,共 20 分)A终结符与非终结符的符号串的集合B 非终结符符号串的集合C终结符符号串的集合D产生式的集合2编译程序分两阶段工作,前阶段完成的工作是_C_A词法分析、语法分析和代码优化B代码生成、代码优化和词法分析C词法分析、语法分析、语义分析和中间代码生成D词法分析、语法分析和代码优化3一个句型中称为句柄的是该句型的最左CA句型B短语C直接短语D最左直接短语4自动机识别的语言是DA 0 型语言B 1 型语言C 2 型语言D3 型语言5自动机所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即A 字符B单词C句子D句型B

温馨提示

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

评论

0/150

提交评论