
东北师范大学21春《编译原理》基础离线作业一辅导答案46.docx
11页东北师范大学21春《编译原理》基础离线作业一答案1. 二义文法是至少存在一个句子有不止一个最左(最右)推导的文法 )A.正确B.错误参考答案:A2. LL(k)文法都不是二义性的 )A.对B.错参考答案:A3. 解释程序是在翻译完成之后生成目标代码,然后执行目标代码 )A.错误B.正确参考答案:A4. 每一个正规集都可以由一个状态数最少的DFA识别,这个DFA是唯一的 )A.正确B.错误参考答案:A5. 关于函数,以下说法错误的是( )A.函数类似于方法,是执行特定任务的语句块B.可以直接使用函数名称来调用函数C.函数可以提高代码的重用率D.函数不能有返回值参考答案:D6. 下面关于解释程序的描述正确的是( )1)解释程序的特点是处理程序时不产生目标代码(2)解释程序适用于COBOL和FORTRAN语言(3)解释程序是为打开编译程序技术的僵局而开发的A.(1)(2)B.(1)C.(1)(2)(3)D.(2)(3)参考答案:B7. JavaScript的强大功能主要是其提供了众多的内置对象 )A.正确B.错误参考答案:B8. NFA M的非确定性表现在它有多个终态 )A.对B.错参考答案:B9. ( )不属于单元级控制结构。
A.过程调用B.异常处理C.并发单元D.循环参考答案:A10. 若由文法G所构造出的简单优先矩阵中不含有多重定义的元素,则可断定文法G一定是简单优先文法 )A.错误B.正确参考答案:A11. 编译器通常包括许多代码改进或优化步骤 )A.错误B.正确参考答案:B12. 合并已知量的目的是使表达式尽可能短 )A.错误B.正确参考答案:A13. 若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄 )A.错误B.正确参考答案:A14. 自底向上分析时,若分析成功,则分析栈中只剩下什么?( )A.界符#及开始符号SB.开始符号SC.界符#号D.当前的输入符号参考答案:A15. 任意一个右线性文法G,都存在一个DFA M,满足L(G)=L(M) )A.正确B.错误参考答案:A16. 与正规式(a|b)*等价的正规式是哪个?( )A.a*|b*B.a*b*C.(a*b*)*D.(ab)*参考答案:C17. 表达式-a+b*(-c+d)的逆波兰式是( )A.ab+-cd+-*B.a-b+c-d+*C.a-b+cd-+*D.a-bc-d+*+参考答案:D18. 逆波兰法表示的表达式亦称前缀式。
)A.错误B.正确参考答案:A19. 高级语言程序必须经过编译程序的翻译才能被计算机识别和执行 )A.错误B.正确参考答案:B20. 设有文法G[S]:S→aAc|b,A→cAS|ε,则文法G是哪一类文法?( )A.LL(1)文法B.非LL(1)文法C.二义性文法D.无法判断参考答案:B21. 在JavaScript中,两个整数进行除(/)运算,其结果也为整数 )A.正确B.错误参考答案:B22. 程序语言的单词符号一般可以分为5种,下面( )不需要超前搜索A.关键字B.标识符C.常数D.算符和界符参考答案:B23. 过程定义是一个声明,它的最简单形式是将一个名字和一个语句联系起来,该名字是过程名,而这个语句是过程体 )A.正确B.错误参考答案:A24. 编译程序必须完成的工作有( ) (1)词法分析(2)语法分析(3)语义分析(4)目标代码生成(5)中间代码生成(6)代码优化A.(1)(2)(3)(4)B.(1)(2)(3)(4)(5)C.(1)(2)(3)(4)(5)(6)D.(1)(2)(3)(4)(6)参考答案:A25. 以( )作为输出,允许自程序单独编译A.绝对机器代码B.可再定位机器语言C.汇编语言程序D.中间语言参考答案:B26. 间接左递归性是没有办法消除的。
)A.错误B.正确参考答案:A27. 下列选项中,不属于优化编译程序提供的对代码的各种变换必须遵循的原则的是( )A.等价原则B.有效原则C.最佳原则D.合算原则参考答案:C28. 关于JavaScript中的Math对象的说法,正确的是( )A.Math.ceil(512.51)返回的结果为512B.Math.floor( )方法用于对数字进行下舍入C.Math.round(-512.51)返回的结果为-512D.Math.random( )返回的结果范围为0-1,包括0和1参考答案:B29. 语法树的根结点以文法的非终结符号标记 )A.错误B.正确参考答案:A30. 代码优化的主要目标是什么?( )A.如何提高目标程序的运行速度B.如何减少目标程序运行所需的空间C.如何协调A和BD.如何使生成的目标代码尽可能简短参考答案:C31. 每一个2型语言都可由某一正规式来表示 )A.错误B.正确参考答案:A32. 文法G[E]:E→T|E+T,T→F|T*F,F→a|(E),下列符号串中是该文法句型E+F*(E+T)的简单短语的是哪个?( )A.(E+T)B.E+TC.E+FD.F*(E+T)参考答案:B33. 下面的文法是:S→aAa|aBb|bAb|bBaA→x B→x,则:( )A.LR(1)文法B.LALR(1)文法C.都不是D.A和B参考答案:A34. 文法G[A]:A→A∨B|B,C→D|D,B→B∧C|C,D→(A)|i不是LL(l)文法。
)A.错误B.正确参考答案:B35. 逆波兰式ab+c+d*e-所对应的表达式是什么?( )A.(a+b+c)*d-eB.a+b+c*d-eC.a+(b+c)*d-eD.(a-b+c)*d+e参考答案:A36. 下述正规表达式中,能描述字母表{0,1}上所有长度不为3的符号串的是哪个?( )A.(ε|0|1|00|11|10|01)(0|1)(0|1)*)B.ε|0|1(00|11|10|01)*C.ε|0|1(00|11|10|01)(0|1)*D.没有一个参考答案:D37. 源程序中的每个变量有两种重要的属性,一是在数据区给它们分配的存储单元地址,二是在目标程序运行时存放在相应单元中的值 )A.错误B.正确参考答案:B38. LR(1)文法都是( )A.无二义性且无左递归B.可能有二义性但无左递归C.无二义性但可能是左递归D.可以既有二义性又有左递归参考答案:C39. 削减运算强度破坏了临时变量在一基本块内仅被定义一次的特性 )A.错误B.正确参考答案:A40. 已知文法G定义为:S→WZ,W→X|Y,X→x|xX,Y→y|yY,Z→z|zZ,与该文法描述相同语言的正规表达式是哪个?( )A.xx*|yy*|zz*B.(xx*|yy*)zz*C.xx*(yy*|zz*)D.(xx|yy)*zz*参考答案:B41. 中间代码生成时所依据的是等价变换规则。
)A.错误B.正确参考答案:B42. 一个文法,如果能为它构造出所有条目都唯一的LR分析表,就说它是LR文法 )A.正确B.错误参考答案:A43. 产生式是用于定义文法的一种书写规则 )A.错误B.正确参考答案:B44. 出现在过程定义中的某些名字是特殊的,它们被称为该过程的形式参数,简称形参 )A.正确B.错误参考答案:A45. 编译的各阶段工作都涉及( )A.符号表管理B.词法分析C.语法分析D.语义分析参考答案:A46. 语法制导翻译的模式,就是对文法中的每个非终结符号都附加一个语义动作或语义子程序 )A.错误B.正确参考答案:B47. 符号表是为每个变量名字保存一个记录的数据结构,记录的域是该名字的属性 )A.正确B.错误参考答案:A48. 文法二义并不代表语言一定是二义的只有当产生一个语言的所有文法都是二义的时,这个语言才是二义的 )A.错误B.正确参考答案:B49. LL(1)文法不能用LR(1)分析器来分析 )A.对B.错参考答案:B50. 在一个控制结点树中,一个结点n的全部子孙就组成了这个结点的必经结点集D(n) )A.错误B.正确参考答案:A。
