|

 ( )是指源程序中不符合语法或词法规则的错误,这些错误一般在词法分析或语法分析时能检测出来。
A:语义错误
B:语法错误
C:短语错误
D:短句错误
( )是指源程序中不符合语义规则的错误,这些错误一般在语义分析时能检测出来。
A:语义错误
B:语法错误
C:短语错误
D:短句错误
( )是为每个标识符保存一个记录的数据结构,记录的域是标识符的属性。
A:符号表
B:代码表
C:源程序
D:出错表
下列说法中错误的是( )。
A:当一遍中包含若干阶段时,各阶段的工作是穿插进行的
B:遍数越多越好
C:遍数越多,输入/输出所消耗的时间越多
D:并非每种语言都可以用单遍编译来实现
在LR分析法中,分析栈中存放的状态是识别规范句型( )的DFA状态。
A:句柄
B:前缀
C:活前缀
D:LR(0)项目
在编译程序使用的表格中,最重要的是( )。
A:数据表
B:信息表
C:变量表
D:符号表
高级语言编译程序常用的语法分析方法中,递归下降分析法属于( )分析方法。
A:自左至右
B:自上而下
C:自下而上
D:自右向左
有限自动机( )个接受状态。
A:只能有一个
B:只能有两个
C:只能有三个
D:可以有0个、一个或多个
( )的任务是把中间代码(或经过优化处理之后)变换成特定机器上的低级语言代码。
A:词法分析
B:语法分析
C:优化
D:目标代码生成
编译程序诸阶段的工作往往是( )。
A:顺序
B:并行
C:成批
D:穿插
下面哪个文法具有二义性( )。
A:A→AA | (A) |
B:E→E+T|T
C:E→(E)
D:E→a
在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是( )。
A:非终结符集
B:终结符集
C:字母集
D:状态集
最常用的中间代码形式是( )
A:二元式
B:三元式
C:四元式
D:树型
Pascal的if语句满足( )。
A:最远匹配原则
B:动态作用域规则
C:静态作用域规则
D:最近匹配原则
类型转换时,整数到实数的转换称为( )。
A:截断
B:舍入
C:拓展
D:收缩
下面哪个文法是左递归的( )。
A:E→E+T|T
B:T→F*T
C:E→(E)
D:E→a
语义分析与中间代码产生所依循的是( )。
A:正规式
B:上下文无关文法
C:语言的语义规则
D:有限自动机
2型文法也称为( )。
A:短语文法
B:上下文无关文法
C:右线性文法
D:左性性文法
文法G的一棵语法树叶结点的自左至右排列是G的一个( )。
A:句子
B:句型
C:句柄
D:素短语
表达式(a+b)*(c+d)的后缀式表示为( )。
A:a+b*c+d
B:+ab*+cd
C:ab+cd+*
D:无法表示
编译程序中语法分析器接收以( )为单位的输入。
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:语法
在自下而上的语法分析方法中,分析的关键是( )。
A:寻找句柄
B:寻找句型
C:消除递归
D:选择候选式
根据不同的用途和侧重,编译程序可分为( )。
A:诊断编译程序
B:优化编译程序
C:交叉编译程序
D:可变目标编译程序
常见的初等数据类型包括( )。
A:数值数据
B:逻辑数据
C:字符数据
D:指针数据
一个上下文无关文法G包括四个组成部分( )。
A:终结符号
B:非终结符号
C:开始符号
D:一组产生式
按照语法分析树的建立方法,可以粗略地把语法分析办法分成两类( )。
A:自左向右分析法
B:自右向左分析法
C:自顶而下分析法
D:自下而上分析法
面向对象语言的主要特征是( )。
A:封装性
B:集成性
C:继承性
D:多态性
优先关系表对应的优先函数,如果存在,一定唯一。
A:错误
B:正确
有限自动机能够识别上下文无关语言。
A:错误
B:正确
语义分析的任务包括两方面,一个是静态语义检查,一个是动态语义的解释执行并生成中间代码。
A:错误
B:正确
解释程序与编译程序的不同指出在于:它立即执行源程序而不是生成在翻译完成之后才执行的目标代码
A:错误
B:正确
在规范规约中用最左素短语来刻划可归约串。
A:错误
B:正确
文法的二义性和语言的二义性是两个不同的概念。
A:错误
B:正确
正规式描述的每种结构都可以用上下文无关文法来描述。
A:错误
B:正确
上下文无关文法也叫正规文法。
A:错误
B:正确
文法二义并不代表语言一定是二义的。只有当产生一个语言的所有文法都是二义的时,这个语言才是二义的。
A:错误
B:正确
编译器是将一种语言翻译为另一种语言的计算机程序。
A:错误
B:正确
|
|