《东北师范大学21秋《编译原理》基础在线作业二答案参考17》由会员分享,可在线阅读,更多相关《东北师范大学21秋《编译原理》基础在线作业二答案参考17(13页珍藏版)》请在金锄头文库上搜索。
1、东北师范大学21秋编译原理基础在线作业二答案参考1. ( )是描述语言的语法结构的形式规则。A.文法B.语义C.词法D.语法参考答案:A2. 推导的意思是把产生式看成重写规则,把符号串中的非终结符用其产生式右部的串来代替。( )A.正确B.错误参考答案:A3. 对于LR(0)分析法,语法分析栈中存放的状态是识别规范句型( )的DFA状态。A.前缀B.活前缀C.LR(0)项目D.句柄参考答案:B4. 常见的初等数据类型包括( )。A.数值数据B.逻辑数据C.字符数据D.指针数据参考答案:ABCD5. 编译程序中语法分析器接收以( )为单位的输入。A.单词B.表达式C.产生式D.句子参考答案:A6
2、. 若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄。( )A.错误B.正确参考答案:A7. Fortran语言的编译程序采用( )分配策略。A.静态B.最佳C.堆式动态D.栈式动态参考答案:A8. 在程序设计语言中,一般来说,布尔表达式仅仅用于条件、循环等控制流语句中的条件表达式计算。( )A.对B.错参考答案:B9. 源程序中的每个变量有两种重要的属性,一是在数据区给它们分配的存储单元地址,二是在目标程序运行时存放在相应单元中的值。( )A.错误B.正确参考答案:B10. 语义分析与中间代码产生所依循的是( )。A.正规式B.上下文无关文法C.语言的语义规则D.有限自动机参考答
3、案:C11. 布尔表达式计算时可以采用某种优化措施,比如A and B用if-then-else可解释为( )。A.if A then true else BB.if A then B else falseC.if A then false else trueD.if A then true else false参考答案:B12. 引用某个已被回收的存储单元就称为悬空引用。( )A.正确B.错误参考答案:A13. 若文法G定义的语言是无限集,则文法必然是( )。A.上下文无关文法B.正规文法C.二义性文法D.递归文法参考答案:D14. 代码优化的主要目标是什么?( )A.如何提高目标程序的运行
4、速度B.如何减少目标程序运行所需的空间C.如何协调A和BD.如何使生成的目标代码尽可能简短参考答案:C15. 在一个循环L中,常用来作为循环的控制变量、数组元素下标表达式中的变量等的是什么?( )A.同族的归纳变量B.基本归纳变量C.循环不变量D.循环不变运算参考答案:B16. 空符号串与任何符号串x的连接还是x本身。( )A.错误B.正确参考答案:B17. 面向对象语言的主要特征是( )。A.封装性B.集成性C.继承性D.多态性参考答案:ACD18. 一个文法,如果存在某个句子有不止一棵分析树与之对应,那么称这个文法是二义的。( )A.正确B.错误参考答案:A19. 若一个程序语言的任何变量
5、的存储空间大小和相互位置都能在编译时确定,则可采用静态分配策略。( )A.对B.错参考答案:A20. 自上而下分析的文法是为输入串寻找最左推导。( )A.正确B.错误参考答案:A21. 在进行自底向上的语法分析时,一旦句柄在分析栈形成,它就必然出现在栈顶,而决不会出现在栈顶之下。( )A.错误B.正确参考答案:B22. 一个语言的文法是唯一的。( )A.错误B.正确参考答案:A23. 每个文法都能改写为LL(1)文法。( )A.正确B.错误参考答案:A24. 有下列文法:SPa|Pb|c,PPd|Se|f,该文法是哪一类文法?( )A.LL(1)文法B.SLR(1)文法C.A和BD.都不是参考
6、答案:B25. 存在一种算法,能判定任何上下文无关文法是否是LL(1)的。( )A.对B.错参考答案:A26. 算符优先分析法只能识别由算符优先文法描述的句子。( )A.错误B.正确参考答案:B27. 语义分析的一个重要部分是类型检查,编译器检查每个算符的运算对象,看它们的类型是否适当。( )A.正确B.错误参考答案:A28. 对于一个无二义性的文法,一棵语言树往往代表了多种最左推导过程。( )A.正确B.错误参考答案:A29. 每一个2型语言都可由某一正规式来表示。( )A.错误B.正确参考答案:A30. 逆波兰法表示的表达式亦称前缀式。( )A.错误B.正确参考答案:A31. 每个结点的属
7、性值都标注出来的分析树叫做注释分析树。( )A.正确B.错误参考答案:A32. 循环中的不变运算都可提到循环的外面,这样可大大提高循环对应的目标代码的质量。( )A.错误B.正确参考答案:A33. 出现在过程定义中的某些名字是特殊的,它们被称为该过程的形式参数,简称形参。( )A.正确B.错误参考答案:A34. 巴科斯-诺尔范式(即BNF)是一种广泛采用什么样的工具?( )A.描述规则B.描述语言C.描述文法D.描述句子参考答案:B35. 文法G的一棵语法树叶结点的自左至右排列是G的一个( )。A.句子B.句型C.句柄D.素短语参考答案:B36. LL(1)分析表可用一个二维数组表示,它的每一
8、行与文法的一个什么符号相关联?( )A.非终结符号B.终结符号C.界符#号D.开始符号参考答案:A37. LL(1)分析必须对原有文法提取左因子和消除左递归。( )A.正确B.错误参考答案:A38. 算符优先分析法采用“移近归约”技术,其归约过程是规范的。( )A.正确B.错误参考答案:B39. LL(k)文法都不是二义性的。( )A.对B.错参考答案:A40. 循环的入口结点是循环中每一结点的必经结点。( )A.错误B.正确参考答案:B41. 中间代码生成时所依据的是等价变换规则。( )A.正确B.错误参考答案:A42. 逆波兰式ab+c+d*e-所对应的表达式是什么?( )A.(a+b+c
9、)*d-eB.a+b+c*d-eC.a+(b+c)*d-eD.(a-b+c)*d+e参考答案:A43. 文法二义代表语言一定是二义的。( )A.正确B.错误参考答案:B44. 下面关于解释程序的描述正确的是( )。(1)解释程序的特点是处理程序时不产生目标代码(2)解释程序适用于COBOL和FORTRAN语言(3)解释程序是为打开编译程序技术的僵局而开发的A.(1)(2)B.(1)C.(1)(2)(3)D.(2)(3)参考答案:B45. 若给定文法G和某个固定的k,则G是否是LR(k)文法是可判定的。( )A.错误B.正确参考答案:B46. 在语法分析处理中,FIRST集合、FOLLOW集合、
10、SELECT集合均是( )。A.非终极符集B.终极符集C.字母表D.状态集参考答案:B47. ( )不是编译程序的组成部分。A.词法分析程序B.代码生成程序C.设备管理程序D.语法分析程序参考答案:C48. 术语语言表示字母表上的一个串集,属于该语言的串称为该语言的句子或字。( )A.正确B.错误参考答案:A49. 合并表达式中的常量运算的目的是什么?( )A.合并常量,使表达式中的常量尽可能少B.合并常量,使表达式尽可能简短C.合并常量,使得生成的代码指令尽可能少D.合并常量,使表达式的运算强度减弱参考答案:C50. 在JavaScript中,下拉选项中可以获取滚动条距窗口顶端滚动的距离的是
11、( )。A.document.documentElement.scrollTopB.document.documentElement.topScrollC.document.style.scrollTopD.document.style.topScroll参考答案:A51. 文法G的一棵语法树叶结点的自左至右排列是G的一个什么?( )A.短语B.句型C.句柄D.素短语参考答案:B52. 一棵语法树表示了一个句型所有的不同推导过程,包括最右推导和最左推导。( )A.对B.错参考答案:A53. 若由文法G所构造出的LL(1)分析表中不含有多重定义的元素,则可断定文法G一定是LL(1)文法。( )A
12、.错误B.正确参考答案:B54. 最有效的自上而下和自下而上的分析法都只能处理上下文无关文法的子类。( )A.正确B.错误参考答案:A55. 在JavaScript中,两个整数进行除(/)运算,其结果也为整数。( )A.正确B.错误参考答案:B56. 如果一个文法G是无二义性文法,对于任何一个句子,该句子( )。A.可能存在两个不同的最左推导B.可能存在两个不同的最右推导C.最左推导和最右推导对应的语法树不同D.仅存在一个最左推导和一个最右推导参考答案:D57. 文法二义并不代表语言一定是二义的。只有当产生一个语言的所有文法都是二义的时,这个语言才是二义的。( )A.错误B.正确参考答案:B58. 算符优先分析法每次都是对( )进行归约A.句柄B.最左素短语C.素短语D.简单短语参考答案:B59. 字母表上的串是该字母表符号的有穷序列。( )A.正确B.错误参考答案:A60. NFA M的非确定性表现在它有多个终态。( )A.对B.错参考答案:B