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