欢迎来到天天文库
浏览记录
ID:50890178
大小:39.95 KB
页数:4页
时间:2020-03-15
《编译原理模拟试卷及答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、模拟试题三发表日期:2009年6月14日出处:admin作者:编译原理课程小组编辑:admin阅读数:276编译原理模拟题1.填空题(每空2分,共20分)(1)一个上下文无关文法G包括四个组成部分:一组终结符号,一组非终结符号,一个______________,以及一组产生式。(2)实行代码外提时,在循环入口结点前面建立一个新结点(基本块),称为循环的 。(3)简单栈式分配适合于这样一种语言:该语言没有分程序结构,过程定义不允许嵌套,但允许。(4)通常实现最近嵌套作用域规则的办法是,对每个过程指定一个,以便跟踪过程里的局部名字。(5)由类型array[256]ofchar导出类型表达
2、式为。(6)用if-then-else来解释Aor中B的话,就是。(7)由于允许用户动态申请与释放内存空间,所以必须采用存储分配技术。(8)自下而上分析方法的基本思想是:从输入符号串开始,利用文法规则逐步进行归约,直至归约到文法的。(9)在算符优先分析中,用“最左素短语”来刻画“可归约串”;在规范归约分析中,用来刻画“可归约串”。(10)S-属性文法中的每个文法符号,只含有属性。2.选择题(每选项2分,共30分)(1)在编译程序中,语法分析分为自顶向下分析和自底向上分析两类:__A__和LL(1)分析法属于自顶向下分析;__B__和LR分析法属于自底向上分析。自顶向下分析试图为输入符号串
3、构造一个__C__;自底向上分析试图为输入符号串构造一个__D__。采用自顶向下分析方法时,要求文法中不含有__E__。供选择的答案:A、B:①深度分析法②宽度优先分析法③算符优先分析法④递归子程序分析法C、D:①语法树②有向无环图③最左推导④最右推导E:①右递归②左递归③直接右递归④直接左递归选择:A:;B:;C:;D:;E:;(2)描述文法符号语义的属性有两种,一种称为A,另一种称为B.A值的计算依赖于分析树中它的C的属性值;B值的计算依赖于分析树中它的D的属性值。供选择的答案:A,B:①L-属性②R-属性③综合属性④继承属性C,D:①父结点②子结点③兄弟结点④父结点与子结点⑤父结点
4、与兄弟结点选择:A:;B:;C:;D:;(3)代码优化的目的是加快A的执行速度,符号表是否合理则影响B的效率。 在编译程序采用的优化中,C,D,E是在循环语句范围内进行的。供选择的答案:A,B:①编译程序②目标程序③源程序④编译程序和目标程序 ④解释程序C、D、E:①代码外提 ②删除多余运算 ③删除归纳变量 ④强度削弱 ④合并已知常量(4)对应于产生式A→XY继承属性Y.y,可能正确的语义规则是A。A可供选择的答案:①A.a:=f(X.x,Y.y)②Y.y:=f(A.a,Y.y)③Y.y:=f(X.x)④A.a:=f(Y.y)选择:A:;3.简答题(每小题5分,共15分)(1)说明任何
5、SLR(1)文法都是LR(1)文法;(2)什么是二义性文法?下面文法二义吗?S→aSbS
6、bSaS
7、ε从输入串abab来说明。(3)写出表达式(a+b)/(a-b)-a(a+b*c)的三元式序列及四元序列。4.综合题(共35分)(1)(20分)已知字母表S={a,b}上语言L={w
8、w中a的个数是偶数}。ⅰ.给出该语言的正规式ⅱ.画出接收该语言的NFAⅲ.把该NFA转换成等价的DFAⅳ.对该DFA进行状态最小化(2)(15分)设有如下的基本块:T1:=A+BT2:=5M:=T2*4T3:=C-DT4:=M+3L:=T1*T3T4:=A+BN:=T4画出改基本块的DAG图。假设变量L、M和
9、N在基本块出口之后是活跃的,给出优化后的四元式阵列。编译原理模拟题答案1.填空题(每小题2分,共20分)(1)开始符号(2)前置结点(3)过程的递归调用(4)唯一的编号(5)array(1..256,char)(6)ifAthentrueelseB(7)堆(8)开始符号/识别符号(9)句柄(10)综合2.选择题(每选项2分,共30分)(1)A④B③C③D④E②(2)A③B④C②D⑤(3)A②B①C①D ③E④(4)A③
此文档下载收益归作者所有