青青 发表于 2015-5-24 08:43:00

西交15春《编译原理》在线作业答案

西交15春《编译原理》在线作业

一、单选题:
1.自上而下分析面临的四个问题中,不包括(    )          (满分:2)
    A. 需消除左递归;
    B. 存在回朔;
    C. 虚假匹配;
    D. 寻找可归约串
2.(    )(    )不是编译程序的组成部分。          (满分:2)
    A. 词法分析程序
    B. 代码生成程序
    C. 设备管理程序
    D. 语法分析程序
3.文法开始符号的所有(    )(    )作为属性计算前的初始值。          (满分:2)
    A. 综合属性
    B. 继承属性
    C. 继承属性和综合属性
    D. 都不是
4.编译程序使用(    )区别标识符的作用域。          (满分:2)
    A. 说明标识符的过程或函数名;
    B. 说明标识符的过程或函数的静态层次;
    C. 说明标识符的过程或函数的动态层次;
    D. 标识符的行号;
5.两个不同过程的活动,其生存期是(    )(    )。          (满分:2)
    A. 重叠的,不嵌套的;
    B. 不重叠的,嵌套的;
    C. 重叠的,嵌套的;
    D. 不重叠的,不嵌套的;
6.LR语法分析栈中存放的状态是识别(    )的DFA状态。          (满分:2)
    A. 前缀;
    B. 可归前缀;
    C. 项目;
    D. 句柄;
7.为了便于优化处理,三地址代码可以表示成(    )(    )。          (满分:2)
    A. 三元式
    B. 四元式
    C. 后缀式
    D. 间接三元式
8.教材介绍了三种符号表的构造和处理方法,其中(    )(    )中常把符号表组织成二叉树形式。          (满分:2)
    A. 线性组织;
    B. 排序组织和二分法;
    C. 杂凑(散列)组织;
    D. 非线性组织
9.Chomsky把文法分成四种类型,其中,(    )也称正规文法          (满分:2)
    A. 0型
    B. 1型
    C. 2型
    D. 3型
10.语言的词法规则一般用Chomsky的(    )型文法来描述:          (满分:2)
    A. 0
    B. 1
    C. 2
    D. 3
11.对应于产生式A→XY继承属性Y.y的属性计算,可能正确的语义规则是(    )(    )。          (满分:2)
    A. A.a
12.表达式-a+b*(-c+d)的逆波兰式是(    )(    )。          (满分:2)
    =f(X.x,Y.y);
    B. Y.y
13.在运行空间的划分中有一个单独的区域叫堆,用来存放(    )(    )。          (满分:2)
    =f(A.a,Y.y);
    C. Y.y
14.以绝对机器代码为输出,所有地址均已定位,这种代码的优点是(    )(    )。          (满分:2)
    =f(X.x);
    D. A.a
15.现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个(    )把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。          (满分:2)
    =f(Y.y);
16.如果一个编译程序能产生不同于其宿主机的机器代码,则称它为:(    )。          (满分:2)
    A. ab+-cd+-*;
    B. a-b+c-d+*;
    C. a-b+c-d+*;
    D. a-bc-d+*+;
17.程序语言的单词符号一般可以分为5种,下面(    )不需要超前搜索          (满分:2)
    A. 目标代码;
    B. 静态数据;
    C. 动态数据;
    D. 过程参数;
18.布尔表达式计算时可以采用某种优化措施,比如A and B用if-then-else可解释为(    )。          (满分:2)
    A. 可立即执行;
    B. 可进一步优化;
    C. 目标代码简短;
    D. 目标代码执行效率高;
19.以(    )作为输出,允许自程序单独编译。          (满分:2)
    A. 重定位程序;
    B. 解释程序;
    C. 连接装配程序;
    D. 诊断程序;
20.正规表达式(ε|a|b)2表示的集合是(    )          (满分:2)
    A. 诊断编译程序
    B. 优化编译程序
    C. 交叉编译程序
    D. 可变目标编译程序
21.算符优先分析法每次都是对(    )进行归约:          (满分:2)
    A. 关键字
    B. 标识符
    C. 常数
    D. 算符和界符
22.使用三元式是为了(    )(    ):          (满分:2)
    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;
23.上下文无关文法可以用(    )来描述。          (满分:2)
    A. 绝对机器代码;
    B. 可再定位机器语言;
    C. 汇编语言程序;
    D. 中间语言;
24.从左线性文法构造有限自动机时,通常自动机状态个数比文法非终结符号数多(    )          (满分:2)
    A. {ε,ab,ba,aa,bb}
    B. {ab,ba,aa,bb}
    C. {a,b,ab,aa,ba,bb}
    D. {ε,a,b,aa,bb,ab,ba}
25.表达式作为实在参数可以传递给被调用的过程,替换过程体中的(    )(    )。          (满分:2)
    A. 句柄
    B. 最左素短语
    C. 素短语
    D. 简单短语
26.语法分析器接收以(    )为单位的输入,并产生有关信息供以后各阶段使用。          (满分:2)
    A. 便于代码优化处理
    B. 避免把临时变量填入符号表
    C. 节省存储代码的空间
    D. 提高访问代码的速度
27.一个数据类型通常包括三种要素,下面(    )不是:          (满分:2)
    A. 正则表达式
    B. 正规文法
    C. 扩展的BNF
    D. 翻译模式
28.Fortran语言的编译程序采用(    )分配策略。          (满分:2)
    A. 4
    B. 2
    C. 0
    D. 1
29.评价一个代码生成器最重要的指标是(    )(    )。          (满分:2)
    A. 局部变量;
    B. 形式参数;
    C. 全局变量;
    D. 实在参数;
30.有文法G=({S},{a},{S→SaS,S→ε},S),该文法是(    )。          (满分:2)
    A. 表达式
    B. 产生式
    C. 单词
    D. 语句
三、判断题:
1.S—属性文法一定是L—属性文法。(    )          (满分:2)
    A. 用于区别这种类型的数据对象的属性;
    B. 这种类型的数据对象可以具有的值;
    C. 对这种类型的数据对象的内存分配;
    D. 可以作用于这种类型的数据对象的操作;
2.若一个程序语言的任何变量的存储空间大小和相互位置都能在编译时确定,则可采用静态分配策略。(    )          (满分:2)
    A. 静态;
    B. 最佳;
    C. 堆式动态;
    D. 栈式动态;
3.编译程序生成的目标程序都是可执行的程序。(    )          (满分:2)
    A. 代码的正确性;
    B. 代码的高效性;
    C. 代码的简洁性;
    D. 代码的维护性。
4.NFA M的非确定性表现在它有多个终态。          (满分:2)
    A. LL(1)文法;
    B. 二义性文法;
    C. 算符优先文法;
    D. SLR(1)文法;
5.一棵语法树表示了一个句型所有的不同推导过程,包括最右推导和最左推导。 (    )          (满分:2)
    A. 错误
    B. 正确
6.非终结符只有综合属性,由词法分析器提供。(    )          (满分:2)
    A. 错误
    B. 正确
7.中间代码是独立于机器的,复杂性介于源语言和机器语言之间,便于进行与机器无关调换代码优化工作。(    )          (满分:2)
    A. 错误
    B. 正确
8.LL(1)文法不能用LR(1)分析器来分析。(    )          (满分:2)
    A. 错误
    B. 正确
9.在程序设计语言中,一般来说,布尔表达式仅仅用于条件、循环等控制流语句中的条件表达式计算。(    )          (满分:2)
    A. 错误
    B. 正确
10.存在一种算法,能判定任何上下文无关文法是否是LL(1)的。(    )          (满分:2)
    A. 错误
    B. 正确
11.一个二义性文法可以是SLR文法或LALR文法。(    )          (满分:2)
    A. 错误
    B. 正确
12.LL(k)文法都不是二义性的。(    )          (满分:2)
    A. 错误
    B. 正确
13.编译程序在优化时可能要用到源程序中的注释。(    )          (满分:2)
    A. 错误
    B. 正确
14.在编译过程中,既可以将几个不同的阶段合为一遍,也可以把一个阶段的工作分为若干遍。(    )          (满分:2)
    A. 错误
    B. 正确
15.可能有两个不同的文法G和G′,期中一个是二义的而另一个是无二义的,但是却有L(G)=L(G′)。(    )          (满分:2)
    A. 错误
    B. 正确
16.在程序设计语言中,一般来说,布尔表达式仅仅用于条件、循环等控制流语句中的条件表达式计算。(    )          (满分:2)
    A. 错误
    B. 正确
17.对于允许递归调用的程序语言,程序运行时的存储分配策略不能采用静态的存储分配策略。(    )          (满分:2)
    A. 错误
    B. 正确
18.有穷自动机接受的语言是正则语言。                  (    )          (满分:2)
    A. 错误
    B. 正确
19.复写传播的目的使对某些变量的赋值变为无用。(    )          (满分:2)
    A. 错误
    B. 正确
20.中间代码是独立于机器的,复杂性介于源语言和机器语言之间,便于进行与机器无关调换代码优化工作。(    )          (满分:2)
    A. 错误
    B. 正确

页: [1]
查看完整版本: 西交15春《编译原理》在线作业答案