编译原理_陈志刚_编译原理试卷.doc_第1页
编译原理_陈志刚_编译原理试卷.doc_第2页
编译原理_陈志刚_编译原理试卷.doc_第3页
编译原理_陈志刚_编译原理试卷.doc_第4页
编译原理_陈志刚_编译原理试卷.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

编译原理软件工程2005级期终考卷学号:姓名:说明:1.本考卷中大写字母VN ,其他符号VT; 2、试卷中一、二两题请作在考卷上一、 概念题(15分)1、编译过程一般分为几个阶段?各阶段的输入输出分别为什么? 2、对下列状态转换图,写出状态0的处理过程:字母012字母其他数字 其中:状态2的过程为proc2.3、文法G为: SaAB Aa B 则判断G为LL(1)文法的条件是: 二、判断题(10分。注:每答对一题得+2分;答错一题得-2分;不答者得0分)1、设为a,b,则a,ba,都是上的正规式。 ( )2、对于上下文无关文法GS,若 SAB则A一定是一条产生式规则,其中,(VTVN)* ( )3、对于逆波兰后缀式,无论从哪头开始分析均可得到唯一正确的分解。( )4、LR(0)分析法是一种规范归约法。 ( )5、算符优先分析法只能用来分析算符优先文法。 ( )三、(10分)设文法G3为:SAaBc AAa|a Bb求句型AaBc的最左素语。四、(20分)设文法GS为SaAcB 问:1、该文法是否为算符文法,为什么?AAb|b 2、构造算符优先关系表。Bd 3、该文法是否可改造为LL(1)文法,为什么?五、(本题20分)设文法G为: EeAf|eBg AaA|a BBb|a对于输入串eaaaf,采用LR(0)、LL(1)、SLR(1)等方法中合适的一种进行分析。六、(25分)有作控制用的布尔表达式文法GE及其语义动作如下:1、 构造SLR(1)分析表(若不是SLR(1))的,则说明理由)2、 分析布尔式abc的四元式生成过程,并画出最后的真假链表。3、 给出语句IF abc THEN I:=m*n ELSE I:=m+n的完整四元式序列。文法GE:(1)Eii E.TC:=NXQ; E.FC=NXQ+1;GEN(Jbc#=对于#AaBc#,#,则最左素短语为AaBc。四、(20分)1、该文法是算符文法。因为其任一产生式的右部都不含相继(并列)的非终结符,即不含如下形式QR的产生式右部。 (4分)2、FIRST(S)=a, LAST(S)=c,FIRST(A)=b, LAST(A)=b,FIRST(B)=d, LAST(B)=d。 (3分)构造算符优先关系表如下: (5分)abcd#abcd#=3、该文法可以改造为LL(1)文法。 (8分)原因: 消除左递归:SaAcB AbA AbA| Bd; FIRST(A)=a, FOLLOW(A)=c,FIRST(A)=b, , FOLLOW(A)=c,FIRST(B)=d, FOLLOW(B)=#,FIRST(S)=a, FOLLOW(S)=#,对于每个非终结符的各个产生式的FIRST集两两不相交; 对于A,FIRST(A)FOLLOW(A)=。 综上所述,原文法可以改造成LL(1)文法。五、(20分)原文法不是LL(1)文法,故不能直接使用LL(1)分析法进行分析。步骤如下:1、拓广文法:EE EeAfEeBg AaA Aa BBb Ba (2分)2、项目集规范族:(6分)由此项目集规范族可判断,原文法非LR(0)文法,故不能直接使用LR(0)分析法进行分析。因此,使用SLR(1)分析法分析原文法。3、构造SLR(1)分析表如下: FOLLOW(A)=f;FOLLOW(B)=b,g;FOLLOW(E)=#。ACTIONGOTO状态abefg#ABE0S211acc2S4353S64S8r7r5r775S10S96r27r48S8r579r310r6r6 (6分)4、分析输入串eaaaf如下:步骤状态符号输入串动作10#eaaaf#预备202#eaaaf#移进3024#eaaaf#移进40248#eaaaf#移进502488#eaaaf#移进602487#eaaAf#归约70247#eaAf#归约8023#aAf#归约90236#aAf#移进1001#E#归约11acc接受(6分)六、(25分)1、步骤:(1)拓广文法:EE Ei(1)i(2)EAE(1) AB Bi (2分)(2)项目集规范族:(6分)(3)SLR(1)分析表如下:FOLLOW(E)=#;FOLLOW(A)=i;FOLLOW(B)= 。ACTIONGOTO状态i#EAB0S21341acc2S6r43S27344S55r36S87r28r1(6分)2、分析输入串abc如下:步骤状态栈符号输入串动作四元式10#abc#预备202#ibc#移进304#Bbc#归约B.TC=1,B.FC=2;Gen(Jnz,a,_,0);Gen(J,_,_,3);4045#Bbc#移进503#Abc#归约A.TC=B.TC=1;BackPatch(2,3);6032#Aic#移进70326#AiC#移进803268#Aii#移进9037#AE#归约E.TC=3,E.FC=4;Gen(J,b,c,0);Gen(J,_,_,0);1001#E#归约E.FC=4;E.TC=MERG(1,3);11acc接受(6分)1、 Gen(Jnz,a,_,0)2、 Gen(J,_,_,3)3、 Gen(J,b,c,1)4、 Gen(J,_,_,0)整理: 真出口为3; 假出口为4。 (2分)3、四元式: 1、

温馨提示

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

评论

0/150

提交评论