15春西交《编译原理》在线作业答案.docx
15春西交编译原理在线作业答案西交编译原理在线作业一、单选题(共30道试题,共60分。)1 .自上而下分析面临的四个问题中,不包括()A.需消除左递归;B.存在回朔;C.虚假匹配;D.寻找可归约串正确答案:D2 .不是编译程序的组成部分。A.词法分析程序B.代码生成程序C.设备管理程序D.语法分析程序正确答案:C3 .文法开始符号的所有 作为属性计算前的初始值。A.综合属性B.继承属性C.继承属性和综合属性D.都不是30.有文法 G= ( S , a , SSaS, S一e , S), 该文法是()。A. LL(1)文法;B.二义性文法;C.算符优先文法;D. SLR文法;正确答案:B西交编译原理在线作业2、判断题(共20道试题,共40分。)1 .S属性文法一定是L属性文法。()A.错误B.正确正确答案:B2 .若一个程序语言的任何变量的存储空间大小和相互位置 都能在编译时确定,则可采用静态分配策略。()A.错误B.正确正确答案:B3 .编译程序生成的目标程序都是可执行的程序。()A.毛病B.正确正确答案:A4 .NFAM的非确定性表现在它有多个终态。A.错误B.正确正确答案:A5 . 一棵语法树表示了一个句型所有的不同推导过程,包括 最右推导和最左推导。()A.毛病B.正确正确答案:B6 .非终结符只有综合属性,由词法分析器提供。()A.错误B.正确正确答案:B7 .中间代码是独立于机器的,复杂性介于源语言和机器语 言之间,便于进行与机器无关调换代码优化工作。()A.毛病B.正确正确答案:A8 .LL(1)文法不能用LR (1)分析器来分析。()A.毛病B.正确正确答案:A9 .在程序设计语言中,一般来说,布尔表达式仅仅用于条 件、循环等控制流语句中的条件表达式计算。()A.毛病B.正确正确答案:A10 .存在一种算法,能判定任何高低文无关文法是否是LL的。()A.错误B.正确正确答案:B11 .一个二义性文法可以是SLR文法或LALR文法。()A.错误B.正确正确答案:A12 .LL(k)文法都不是二义性的。()A.错误B.正确正确答案:B13 .编译程序在优化时可能要用到源程序中的注释。()A.错误B.正确正确答案:A14 .在编译过程中,既可以将几个不同的阶段合为一遍, 也可以把一个阶段的工作分为若干遍。()A.毛病B.正确正确答案:B15 .可能有两个不同的文法G和G,期中一个是二义的而 另一个是无二义的,可是却有L(G)=L(G% ()A.错误B.正确正确答案:B16 .在程序设计语言中,一般来说,布尔表达式仅仅用于 条件、循环等控制流语句中的条件表达式计算。()A.错误B.正确正确答案:A17 .对于允许递归调用的程序语言,程序运行时的存储分 配策略不能采用静态的存储分配策略。()A.毛病B.正确正确答案:B18 .有穷自动机接受的语言是正则语言。()A.错误B.正确正确答案:B19 .复写传播的目的使对某些变量的赋值变为无用。()A.毛病B.正确正确答案:B20 .中央代码是独立于呆板的,庞大性介于源言语和呆板 言语之间,便于进行与呆板无关调换代码优化工作。()A.毛病B.正确正确答案:B21 编译程序使用 区别标识符的作用域。A.说明标识符的过程或函数名;B.说明标识符的过程或函数的静态层次;C.说明标识符的过程或函数的动态层次;D.标识符的行号;正确答案:B22 两个不同过程的活动,其保存期是 oA.重叠的,不嵌套的;B.不重叠的,嵌套的;C.重叠的,嵌套的;D.不重叠的,不嵌套的;正确答案:B23 LR语法分析栈中存放的状态是辨认 的DFA状态。A.前缀;B.可归前缀;C.项目;D.句柄;正确答案:B24 为了便于优化处理,三地址代码可以表示成 oA.三元式25 四元式C.后缀式D.间接三元式正确答案:D8 .教材介绍了三种符号表的构造和处理方法,其中 中常把符号表组织成二叉树形式。A.线性组织;9 .排序组织和二分法;C.杂凑(散列)组织;D.非线性组织正确答案:B10 Chomsky把文法分成四种类型,其中,()也称正规文法A. 0型B. 1型C. 2型D. 3型正确答案:D11 .言语的词法规则一般用Chomsky的()型文法来描绘:A. 0B. 1C. 2D. 3正确答案:D11.对应于发生式AXY继承属性Y.y的属性计算,可能 正确的语义规则是 o A. A.a:=f(X.x, Y.y);B. Y.y:=f(A.a, Y.y);C. Y.y:=f(X.x);D. A.a:=f(Y.y);正确答案:C12 .表达式-a+b*(-c+d)的逆波兰式是 oA. ab+-cd+-*;B. a-b+c-d+*;C. a-b+c-d+*;D. a-bc-d+*+;正确答案:D13 .在运转空间的划分中有一个单独的地区叫堆,用来存 放 o A.目标代码;B.静态数据;C.动态数据;D.过程参数;正确答案:C14 .以绝对机器代码为输出,所有地址均已定位,这种代 码的优点是 o A.可立即执行;B.可进一步优化;C.目标代码简短;D.目标代码执行效率高;正确答案:A15.现代多数适用编译步伐所发生的目标代码都是一种可 重定位的指令代码,在运转前必须借助于一个()把各个目标模 块,包括系统提供的库模块毗连在一起,确定步伐变量或常数 在主存中的位置,装入内存中制订的起始地址,使之成为一个 可运转的绝对指令代码的步伐。A.重定位步伐;B.解释程序;C.连接装配程序;D.诊断程序;正确答案:C16.如果一个编译程序能产生不同于其宿主机的机器代码,则称它为:()。A.诊断编译程序B.优化编译程序C.交叉编译步伐D.可变目标编译程序正确答案:C17 .步伐言语的单词标记一般能够分为5种,上面()不需 求超前搜索A.关键字B.标识符C.常数D.算符和界符正确答案:B18 .布尔表达式计算时可以采用某种优化措施,比如A and B 用 if-then-else 可解释为()。A. if A then true else B ;B. if A then B else false;C. if A then false else true;D. if A then true else false;正确答案:B19.以 作为输出,允许自步伐单独编译。A.绝对机器代码;B.可再定位呆板言语;C.汇编语言程序;D.中间语言;正确答案:B20.正规表达式(£|a|b)2表示的集合是()A.£, ab, ba, aa, bbB.ab, ba, aa, bbC. a, b, ab, aa, ba, bbD. s, a, b, aa, bb, ab, ba正确答案:D21 .算符优先分析法每次都是对()进行归约:A.句柄B.最左素短语C.素短语D.简单短语正确答案:B22 .使用三元式是为了:A.便于代码优化处理B.避免把临时变量填入符号表C.节省存储代码的空间D.提高访问代码的速度正确答案:B23 .上下文无关文法可以用()来描述。A.正则表达式B.正规文法C.扩展的BNFD.翻译形式正确答案:C24 .从左线性文法构造有限自动机时,通常自动机状态个 数比文法非终结符号数多()A.4B. 2C. 0D. 1正确答案:D25.表达式作为实在参数可以传递给被调用的过程,替换 过程体中的 o A.局部变量;B.形式参数;C.全局变量;D.实在参数;正确答案:B26.语法分析器接收以 为单位的输入,并产生有关信息供以后各阶段使用。A.表达式B.产生式C.单词D.语句正确答案:CA.用于区别这种类型的数据对象的属性;正确答案:C28.Fortran语言的编译程序采用 分配策略。A.静态;B.最佳;C.堆式动态;D.栈式动态;正确答案:A29.评价一个代码生成器最重要的指标是。A.代码的正确性;B.代码的高效性;C.代码的简约性;D.代码的维护性。正确答案:A