《编译原理第七章练习题.docx》由会员分享,可在线阅读,更多相关《编译原理第七章练习题.docx(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、d.等价变换规那么d.程序变量d.a+b+c/d第7节 习题单项选择题1、中间代码生成所依据的是。&语法规那么b.词法规那么c.语义规那么2、四元式之间的联系是通过实现的。a.指示器b.临时变量c.符号表3、后缀式ab+cd+/可用表达式 来表示。a.a+b/c+db.(a+b)/(c+d)c.a+b/(c+d)4、表达式 J AVB) A (CVD)的逆波兰表示为。a. -i ABVACDVb. A-| BVCDVAc. ABV-| CDV AA-i BVACDV5、中间代码的树型表示所对应的表达式为a.A+B+C+D b.A+(B+C)+Dc.(A+B)+C+Dd.(A+B)+(C+D)6
2、、四元式表示法的优点为oa.不便于优化处理,但便于表的更动b.不便于优化处理,但节省存储空间c.便于优化处理,也便于表的更动d.便于表的更动,也节省存储空间7、终结符具有属性。a.传递b.继承c.抽象d.综合解答1、选 c。2、四元式之间的联系是通过临时变量实现的,应选b。3、选 bo4、选 bo5、选 do6、四元式表示法的优点与间接三元式相同,应选c。7、选 do二、多顶选择题1、中间代码主要有 Oa.四元式b.二元式c.三元式 d.后缀式 e.间接三元式2、下面中间代码形式中,能正确表示算术表达式a+b+c的有 o3、在下面的 语法制导翻译中,采用拉链-回填技术。a.赋值语句b. got
3、o语句c.条件语句 d.循环语句4、以下 中间代码形式有益于优化处理。a.三元式 b.四元式 c.间接三元式 d.逆波兰表示法 e.树形表示5、在编译程序中安排中间代码生成的目的是b.利于目标代码的优化d.利于目标代码的移植b.利于目标代码的优化d.利于目标代码的移植a.便于进行存储空间的组织 c.利于编译程序的移植 e.利于提高目标代码的质量6、下面的中间代码形式中,6、下面的中间代码形式中,能正确表示算术表达式a+b*c。题)*a. ab+c* b. abc*+ c. a+b*c d. c7、三地址代码语句具体实现通常有 表示方法。a.逆波兰表示b.三元式 c.间接三元式d.树形表示 e.
4、四元式1、选 a、c、d、e。2、b、d的中间代码不能正确表示a+b+c,而e不是中间代码:应选a、c。3、凡涉及到跳转的语句都需要采用拉链一一回填技术,应选b、c、do4、选 b、Co5、选 b、do6、选 b e。7、选 b、c、eo三、填空题1、中间代码有 等形式,生成中间代码主要是为了彳吏O2、语法制导翻译屣可以用来产生 代码,也可以用来产生 指令,甚至可用来对输入串进行 o3、当源程序中的标号出现“先引用后定义”时,中间代码的转移地址须持 时才能确定,因而要进行 o4、文法符号的属性有两种,一种称为,另一种称为 o5、后缀式abc-/所代表的表达式是,表达式(a-b)*c可用后缀式
5、表示。6、用一张 辅以 的方法来表示中间代码,这种表示法称为间接三元式。解答1、逆波兰记号、树形表示、三元式、四元式目标代码的优化容易实现2、中间 目标 解释执行3、标号定义回填4、继承属性综合属性5、a/(b-c) ab-c*6、间接码表 三元式表四、综合题、1cl合出以下表达式的逆波兰表示(后缀式): a*(-b+c)(AVB)A(CV-i DAE)2、写出算术表达式:A+B*(C-D)+E/(C-D) t N的四元式序列;三元式序列;间接三元式序列解答1、 abc+*; ABVCDn EAVA2、表达式的四元式序列:表达式的三元式序列间接三元式序列(1)(-,C,D,Ti)(1)G,C,D)(1)(1)CD)(2)(*B,Ti,T2)(2)(*,B,(1)(2)(2) (*,B,(D)(3)(+,A,T2,T3)(3)(+,A,)(3)(3)(+,A。)(4)G,c,d,T4)(4)(-CD)(1)(4)(t ,N)(5)(3T4,N,T5)(5)(t 44),N)(4)(5)(AE,(4)(6)(/,E,T5,T6)(6)(/,E,)(5)(6)(+,(3),(5)(+,T3,T6,T7)(7)(+0,(6)(6)
限制150内