|

 一个结点相应的文法符号属性值是由该结点兄弟结点和/或父节点的相应的文法符号的属性值来计算,按这种情况计算的属性值叫做( )。
A:综合属性
B:继承属性
C:自然属性
D:赋值属性
优化所依循的原则是( )。
A:正规式
B:上下文无关文法
C:语言的语义规则
D:程序的等价变换规则
1型文法也称为( )。
A:短语文法
B:上下文有关文法
C:右线性文法
D:左性性文法
( )是指源程序中不符合语法或词法规则的错误,这些错误一般在词法分析或语法分析时能检测出来。
A:语义错误
B:语法错误
C:短语错误
D:短句错误
已知文法:S→aAa|aBb|bAb|bBaA→x B→x ,则( )
A:LR(1)文法
B:LALR(1)文法
C:都不是
D:A和B
( )是描述语言的语法结构的形式规则。
A:文法
B:语义
C:词法
D:语法
如果r、s是正规式,则下面( )不一定是正规式。
A:rs
B:r|s
C:r*
D:r+s
描述一个语言的文法是( )。
A:唯一的
B:不唯一的
C:可能唯一
D:可能不唯一
由于受到具体机器主存容量的限制,编译程序几个不同阶段的工作往往被组合成( )。
A:过程
B:程序
C:批量
D:遍
若一个文法是递归的,则它所产生的句子个数( )。
A:必定是无穷的
B:是有限个的
C:根据具体情况而定
D:不确定
语义分析与中间代码产生所依循的是( )。
A:正规式
B:上下文无关文法
C:语言的语义规则
D:有限自动机
下列选项中,不属于优化编译程序提供的对代码的各种变换必须遵循的原则的是( )。
A:等价原则
B:有效原则
C:最佳原则
D:合算原则
Pascal的if语句满足( )。
A:最远匹配原则
B:动态作用域规则
C:静态作用域规则
D:最近匹配原则
有限自动机可以有( )个初始状态。
A:一个
B:两个
C:三个
D:多个
在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是( )。
A:非终结符集
B:终结符集
C:字母集
D:状态集
正则文法( )二义性的。
A:可以是
B:一定不是
C:一定是
D:可以不是
类型转换时,整数到实数的转换称为( )。
A:截断
B:舍入
C:拓展
D:收缩
下列关于语法树的描述中,错误的是( )。
A:语法树的根结由开始符号所标记
B:一棵语法树表示了一个句型所有的不同推导过程
C:一棵语法树是不同推导过程的共性抽象,是它们的代表
D:一个句型不是只有唯一的一棵语法树
若文法G定义的语言是无限集,则文法必然是( )。
A:上下文无关文法
B:正规文法
C:二义性文法
D:递归文法
下面哪个文法具有二义性( )。
A:A→AA | (A) |
B:E→E+T|T
C:E→(E)
D:E→a
( )是为每个标识符保存一个记录的数据结构,记录的域是标识符的属性。
A:符号表
B:代码表
C:源程序
D:出错表
LR(1)文法都是( )。
A:无二义性且无左递归
B:可能有二义性但无左递归
C:无二义性但可能是左递归
D:可以既有二义性又有左递归
下述方法中,( )不是自下而上分析方法。
A:规范归约
B:算符优先分析法
C:递归下降分析法
D:LR分析法
( )的任务是把中间代码(或经过优化处理之后)变换成特定机器上的低级语言代码。
A:词法分析
B:语法分析
C:优化
D:目标代码生成
在自下而上的语法分析方法中,分析的关键是( )。
A:寻找句柄
B:寻找句型
C:消除递归
D:选择候选式
按照语法分析树的建立方法,可以粗略地把语法分析办法分成两类( )。
A:自左向右分析法
B:自右向左分析法
C:自顶而下分析法
D:自下而上分析法
常见的初等数据类型包括( )。
A:数值数据
B:逻辑数据
C:字符数据
D:指针数据
常用的中间代码表示形式有( )。
A:三元式
B:四元式
C:间接三元式
D:逆波兰记号
在下述的编译方法中,自上而下的分析方法有( )。 ①简单优先分析 ②算符优先分析 ③递归下降分析 ④预测分析技术 ⑤LR(K)分析 ⑥ SLR(K)分析 ⑦ LL(K)分析 ⑧LALR(K)分析
A:③④⑦
B:③④⑧
C:①②⑧
D:③④⑤⑥⑦
面向对象语言的主要特征是( )。
A:封装性
B:集成性
C:继承性
D:多态性
逆波兰法表示的表达式亦称前缀式。
A:错误
B:正确
在语法制导定义中,终结符可能具有综合属性,也可能具有继承属性。
A:错误
B:正确
一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。
A:错误
B:正确
算符优先分析法只能识别由算符优先文法描述的句子。
A:错误
B:正确
对于一个无二义性的文法,一棵语言树往往代表了多种最左推导过程。
A:错误
B:正确
解释程序是在翻译完成之后生成目标代码,然后执行目标代码。
A:错误
B:正确
上下文无关文法也叫正规文法。
A:错误
B:正确
编译器是将一种语言翻译为另一种语言的计算机程序。
A:错误
B:正确
文法S→aA;A→Ab;A→b是LR(0)文法(S为文法的开始符号)。
A:错误
B:正确
编译器通常包括许多代码改进或优化步骤。
A:错误
B:正确
|
|