奥鹏教育西安交通大学《编译原理》在线作业3
奥鹏西安交通大学平时在线作业
西交《编译原理》在线作业
许多广为使用的语言,如Fortran、C、Pascal等,属于( )。
A:强制式语言
B:应用式语言
C:基于规则的语言
D:面向对象的语言
答案问询微信:424329
在编译方法中,动态存储分配的含义是( )。
A:在运行阶段对源程序中的数组.变量.参数等进行分配
B:在编译阶段对源程序中的数组.变量.参数进行分配
C:在编译阶段对源程序中的数组.变量.参数等进行分配,在运行时这些数组.变量.参数的地址可根据需要改变
D:其他都不正确
答案问询微信:424329
现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个 把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。
A:重定位程序;
B:解释程序;
C:连接装配程序;
D:诊断程序;
答案问询微信:424329
语法分析应遵循( )。
A:语义规则
B:语法规则
C:构词规则
D:等价变换规则
答案问询微信:424329
( )是指源程序中不符合语法或词法规则的错误,这些错误一般在词法分析或语法分析时能检测出来。
A:语义错误
B:语法错误
C:短语错误
D:短句错误
答案问询微信:424329
在使用高级语言编程时,首先可通过编译程序发现源程序的全部和部分( )错误。
A:语法
B:语义
C:语用
D:运行
答案问询微信:424329
下列关于标识符和名字叙述中,正确的是( )。
A:标识符有一定的含义
B:名字是一个没有意义的字符序列
C:名字有确切的属性
D:都不正确
答案问询微信:424329
编译程序是一种( )
A:汇编程序
B:翻译程序
C:解释程序
D:目标程序
答案问询微信:424329
代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个( )把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。
A:重定位程序
B:解释程序
C:连接装配程序
D:诊断程序
答案问询微信:424329
一个数据类型通常包括三种要素,下面( )不是:
A:用于区别这种类型的数据对象的属性
B:这种类型的数据对象可以具有的值
C:对这种类型的数据对象的内存分配
D:可以作用于这种类型的数据对象的操作
答案问询微信:424329
合并表达式中常量运算的目的是( )。
A:使表达式中的常量尽可能少
B:是表达式尽可能简短
C:将可在编译时刻计算的常量运算在编译时刻计算出来,然后用所计算出来的值替换表达式中出现的所有这种常量运算,使得生成的代码指令尽可能少
D:其他都是
答案问询微信:424329
编译程序使用________区别标识符的作用域。
A:说明标识符的过程或函数名;
B:说明标识符的过程或函数的静态层次;
C:说明标识符的过程或函数的动态层次;
D:标识符的行号;
答案问询微信:424329
若文法G定义的语言是无限集,则文法必然是()
A:前后文无关文法
B:正规文法
C:二义性文法
D:递归文法
答案问询微信:424329
不是编译程序的组成部分。
A:词法分析程序
B:代码生成程序
C:设备管理程序
D:语法分析程序
答案问询微信:424329
识别上下文无关语言的自动机是( )
A:下推自动机
B:NFA
C:DFA
D:图灵机
答案问询微信:424329
文法:G:S→xSx | y所识别的语言是( )。
A:xyx
B:(xyx)*
C:x*yx*
D:xnyxn (n≥0)
答案问询微信:424329
自上而下分析面临的四个问题中,不包括( )
A:需消除左递归;
B:存在回朔;
C:虚假匹配;
D:寻找可归约串
答案问询微信:424329
常见的中间代码形式不包含( )
A:三元式
B:四元式
C:逆波兰式
D:语法树
答案问询微信:424329
终结符具有( )属性。
A:传递
B:继承
C:抽象
D:综合
答案问询微信:424329
LR(k)文法( )
A:都是无二义性的
B:都是二义性的
C:一部分是二义性的
D:无法判定
答案问询微信:424329
所谓在程序中某个给定点是活跃的,是指如果在程序中,( )。
A:该点以后被引用
B:该点以后被计算
C:该点正在被计算
D:该点一直被计算
答案问询微信:424329
教材介绍了三种符号表的构造和处理方法,其中________中常把符号表组织成二叉树形式。
A:线性组织;
B:排序组织和二分法;
C:杂凑(散列)组织;
D:非线性组织
答案问询微信:424329
布尔表达式计算时可以采用某种优化措施,比如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;
答案问询微信:424329
在LR(0)的ACTION子表中,如果某一行中存在标记“rj”的栏,则( )。
A:该行必定填满rj
B:该行未填满rj
C:其他行也有rj
D:goto子表中也有rj
答案问询微信:424329
文法开始符号的所有( )作为属性计算前的初始值。
A:综合属性
B:继承属性
C:继承属性和综合属性
D:都不是
答案问询微信:424329
布尔表达式计算时可以采用某种优化措施,比如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;
答案问询微信:424329
一个文法所描述的语言是()。
A:唯一的
B:不唯一的
C:可能唯一,好可能不唯一
答案问询微信:424329
如果文法G是无二义的,则它的任何句子( )
A:最左推导和最右推导对应的语法树必定相同
B:最左推导和最右推导对应的语法树可能不同
C:最左推导和最右推导必定相同
D:可能存在两个不同的最左推导,但它们对应的语法树相同
答案问询微信:424329
编译程序使用( )区别标识符的作用域。奥鹏西安交通大学平时在线作业
A:说明标识符的过程或函数名
B:说明标识符的过程或函数的静态层次
C:说明标识符的过程或函数的动态层次
D:标识符的行号
答案问询微信:424329
算符优先分析法每次都是对( )进行归约:
A:句柄
B:最左素短语
C:素短语
D:简单短语
答案问询微信:424329
在编译过程中,既可以将几个不同的阶段合为一遍,也可以把一个阶段的工作分为若干遍。( )
A:对
B:错
答案问询微信:424329
有穷自动机接受的语言是正则语言。 ( )
A:错误
B:正确
答案问询微信:424329
规范归约和规范推导是互逆的两个过程。( )
A:错误
B:正确
答案问询微信:424329
NFA M的非确定性表现在它有多个终态。
A:错误
B:正确
答案问询微信:424329
通过建立一个变量地址描述数组AVALUE,来动态记录变量在运行过程中值的变化。( )
A:错误
B:正确
答案问询微信:424329
算符优先文法中任何两个相邻的终结符号之间至少满足三种关系(<?,?>,=?)之一。( )
A:错误
B:正确
答案问询微信:424329
把循环中的乘法运算用递归加法运算来替换就是一种强度削弱。( )
A:错误
B:正确
答案问询微信:424329
算符优先分析法是一种规范规约法。( )
A:错误
B:正确
答案问询微信:424329
复写传播的目的使对某些变量的赋值变为无用。( )
A:对
B:错
答案问询微信:424329
编译程序生成的目标程序都是可执行的程序。( )
A:错误
B:正确
答案问询微信:424329
一个二义性文法可以是SLR文法或LALR文法。( )
A:对
B:错
答案问询微信:424329
语法分析时必须先消除文法中的左递归。( )
A:错误
B:正确
答案问询微信:424329
对于允许递归调用的程序语言,程序运行时的存储分配策略不能采用静态的存储分配策略。( )
A:错误
B:正确
答案问询微信:424329
对于每一个左线性文法G1,都存在一个右线性文法G2,使得L(G1)=L(G2)。( )
A:错误
B:正确
答案问询微信:424329
非终结符除综合属性,还有其他属性。( )
A:错误
B:正确
答案问询微信:424329
任何一种算法,不能判定任何上下文无关文法是否是LL(1)的。( )
A:错误
B:正确
答案问询微信:424329
每一个SLR(1)文法也都是LR(1)文法。( )
A:错误
B:正确
答案问询微信:424329
二义文法是上下文无关文法。( )
A:错误
B:正确
答案问询微信:424329
强度削弱是指把程序中执行时间较长的运算替换为执行时间较短的运算。( )
A:错误
B:正确
答案问询微信:424329
在归约过程的任一时刻,一个上下文无关文法的任何句型的直接短语一般都不是唯一的。( )
A:错误
B:正确
答案问询微信:424329