1、编译原理b题号一二三四总分得分得 分一、填空题(每空1分,总计20分)1编译程序是源程序的一个 系统,其输出是 。2.一个句型的 叫做该句型的句柄。3二义性文法中,有的文法的二义性是不能消除的,这类文法被称为 。4算符优先分析方法和LR分析方法都是自下而上的分析方法,算符优先分析方法是通过 刻画可规约串的,而LR分析方法是通过 刻画可规约串的。5编译过程中常见的中间语言形式有 、 、 和 。6语法制导翻译的方法就是为每个产生式配上一个 ,并在语法分析的同时执行之。7过程的DISPLAY表中记录了过程的 。8. 原程序中的错误通常分为 和 两类。9.编译程序所生成的目标代码通常三类,有能够 机器
2、语言代码、 机器语言模块和 。10.程序语言中参数传递的方式主要有 , , 三种。得 分二选择题(每题1分,总计10分)1.编译程序是对( )。 A.汇编程序的翻译 B.高级语言程序的解释执行C.机器语言的执行 D.高级语言的翻译2.正规表达式M1和M2等价是指( )。A.M1和M2的状态数相等 B.M1和M2的有向边条数相等C.M1和M2所识别的语言集相等 D.M1和M2的状态数和有向边条数都相等3.文法G:S xSx|y所识别的语言是( )。A.xyx B.(xyx)* C.xnyxn(n0) D.x*yx*4.homaky把文法分为四种类型,即0型,1型,2型,3型其中2型文法又叫做(
3、)。 A.上下无关文法 B.上下有关文法 C.正规文法 D.短语文法5.在通常的语法分析中,( )特别适用于表达式的分析。A.算符优先分析法 B.LR分析法 C.递归下降分析法 D.LL(1)分析法6.间接三元式的执行顺序通过( )反映出来的。A.指示器 B.间接码表 C.符号表 D.程序变量7.有一语法制导翻译程序如下所示: GS:S bAb print”x” A (B print”y” A a print”u” B Aa) print”v” 若输入序列为b(aa)a)a)b,且采用自下而上的分析方法,则输出序列为( )。A.uyyyvvvx B.uvyvyvx C.xyvyvyvu D.u
4、vvvyyxy8.程序的基本块是指( )。A.没有循环的程序段 B.没有分支的程序段.一组顺序执行的程序段,仅有一个入口和一个出口D.没有嵌套的程序段9. 下列优化方法中不是针对循环优化进行的是( )。A. 复写传播 B.删除归纳变量 C. 强度削弱 D.代码外提10.在目标代码生成阶段,符号表用于( )。A.目标代码生成 B.语义检查 C.语法检查 D.地址分配得 分三. 简答题(每题4分,总计20分)1什么是非确定有限自动机(五元组及其含义)2什么是规范规约3在LL(1)分析方法中,为什么要求文法无左递归无回溯4 C语言中有 int a567; 数组说明语句,画出数组的内情向量表。5画出c
5、语言的活动记录得 分四综合题(总计50分)1 填写编译程序结构示意图,包括编译程序的每个功能模块,及其输出信息写在箭头左侧(10分) 2、构造正规式(a|b)*|aa)*b的最简DFA。(10分)3给出文法GS: S aSb|P P bPc|bQcQ Qa|a(1)消除文法GS的左递归和回溯(5分)(2)构造LL(1)分析表(10分)4在该程序流图中求出所有节点的必经节点集,找出所有回边和循环。(10分)5考察下面求最大公因子的三地址代码程序,划分基本块,并且在划分好的基本块基础上给出程序流图。(5分)(1)read X (2)read Y (3)R=X%Y(4)If R=0 goto(8)(
6、5)X=Y(6)Y=R(7)goto (3)(8)write Y(9)halt一、填空题(每空1分,计20分)1、翻译 目标代码2、最左直接短语3、先天二义性文法4、最左素短语 句柄5、逆波兰式 抽象语法树 四元式 三元式 间接三元式6、语义子程序或语义动作7、嵌套过程的层次关系8、语法错误 语义错误9、可直接运行的机器语言代码 待装配的机器语言模块 汇编语言10、传值 传名 传地址二、选择题(每题1分,计10分)1D 2C 3C 4A 5A 6B 7B 8C 9A 10D三、简答题(每题4分,计20分)1、NFA是个五元组Mn=(S,f,Q,Z)(1)S是一个有限状态集,它的每个元素称为一个
7、状态(2)是一个有穷输入字母表,它的每一个元素称为一个输入字符(3)f多值映射(4)Q初始状态集(5)Z终止状态集2、规约过程中每一步把当前句型的句柄用相应产生式的左部进行替换。3、左递归导致程序无法执行,回溯会大大降低程序的执行效率4、04505606730inta5、四综合题1. 源程序 单词序列 语法单位 四元式 四元式 目标程序2. IIaIbX,1,2,41,2,3,41,2,4,Y1,2,3,41.2,3,41,2,4,Y1,2,4,Y1,2,3,41,2,4,YSab1232233233. (1)消除文法的左递归:(3分)S aSb|PP bPc|bQcQ aQQ aQ|消除回溯
8、之后得到文法GS:(2分) S aSb|PP bPP Pc|QcQ aQQ aQ| (2)对每个非终结符构造FIRST集和FOLLOW集:(5) FIRST(S)=a,b FIRST(P)=b FIRST(P)=a,b FIRST(Q)=a0 FIRST(Q)=a, FOLLOW(S)=b,# FOLLOW(P)=b,c,# FOLLOW(P)= b,c,# FOLLOW(Q)=c FOLLOW(Q)=cLL(1)分析表如下:(5分)abc#SS aSbS PPP bPPP QcP PcQQ aQQQ aQQ 4. 必经结点集D(1)=1D(2)=1,2D(3)=1,2,3D(4)=1,2,4D(5)=1,2,4,5D(6)=1,2,4,6D(7)=1,2,4,7回边(1) 已知D(6)=1,2,4,6,因存在66且6 DOM 6,故66是回边;(2) 已知D(7)=1,2,4,7,因存在74且4 DOM 7,故74是回边;(3) 已知D(4)=1,2,4,因存在42且2 DOM 4,故42是回边。循环62, 3, 4, 5, 6, 74, 5, 6, 75.基本块(10分)A:(1)(2) B:(3)(4) C:(5)(6)(7) D:(8)(9)程序流图:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1