查看所有试题
- 算符优先关系表不一定存在对应的优先函数。下面不能用于对文法进行描述的是()不可能是目标代码的是()()是指源程序中不符合语义规则的错误,这些错误一般在语义分析时能检测出来。正确#
错误源语言#
EBNF
BNF
语
- 任何一个二义性文法一定不是LR类文法,也不是一个算符优先文法。解释程序处理语言时,大多数采用的是()方法。文法G产生的()的全体是该文法描述的语言。虚拟存储器地址变换是指()正确#
错误源程序命令被逐个直接
- 过程调用的实质是把程序控制转移到子程序(过程段)。程序所需的数据空间在程序运行前就可确定,称为()管理技术。编译原理是对()。文法G[S]:S→aAA→bBB→aaS,则L(G)为()正确#
错误动态存储
栈式存储
静态存储#
- 出口语句是一种结构化的方式跳出循环而设置的语句,它的作用是引起外层循环的终止。自上而下语法分析的主要动作是()程序一般分为哪两大类?()正确#
错误移进
推导#
规约
匹配高级语言#
专用程序语言
低级语言#
通
- 削减运算强度破坏了临时变量在一基本块内仅被定义一次的特性。下面()语法制导翻译中,采用拉链—回填技术。在编译的各阶段中,和目标机器关系最为密切的是()。若一个文法是递归的,则它所产生的句子个数()。下面哪
- 当一个过程调用其他过程时,调用过程和被调用过程之间的通信只能由非局部变量传递。算符优先分析与规范归约相比的优点是()赋值语句X::=-(a+b)/(c-d)-(a+b*c)r的逆波兰表示是()。已知文法:S→aAaaBbbAbbBa
- 编译中的语义处理是指()两个功能。审查每个语法结构的静态语义#
生成程序的一种中间表示形式(中间代码),或者生成实际的目标代码#
分析栈
向前搜索符集合
- 一个LR分析器由()组成。哪个不是DFA的构成成分()在词法分析阶段不能识别的是()面向对象语言的主要特征是()。间接三元式表示法的优点是()。驱动程序#
分析函数#
分析栈#
向前搜索符集合有穷字母表
初始状态
- 运行时的存储区常常划分为()文法G产生的()的全体是该文法描述的语言。目标区#
静态数据区#
栈区#
堆区#句型
终结符集
非终结符集
句子#
- 一个LR(1)项目可以看成()两个部分组成。变量应当()一个上下文无关文法G包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组()。心#
向前搜索符集合#
分析表
分析函数持有左值
持有
- 四元式是一种比较普遍采用的中间代码形式,它的四个组成成分是()。四元式之间的联系是通过()实现的。下面哪个文法具有二义性()。下面()不是自底向上的语法分析方法。算法op#
第一运算对象ARG1#
第二运算对象A
- 在解释方式下,解释程序将按照源程序中语句的动态顺序,逐句地进行分析解释,并立即予以执行。正确#
错误
- 编译程序工作时,通常包括()阶段。计算机执行用高级语言编写的程序有哪些途径?()词法分析#
语法分析#
中间代码生成#
语义检查
目标代码生成#链接
汇编
解释#
编译#
- 在编译方式下执行源程序,易于查错,在程序执行中可以修改程序,但执行效率低。优化可生成()的目标代码。正确#
错误运行时间较短
占用存储空间较小
运行时间短但占用内存空间大
运行时间短且占用存储空间小#
- 解释程序处理语言时,大多数采用的是()方法。哪个不是DFA的构成成分()如果文法G是无二义的,则它的任何句子()产生正规语言的文法为()在规范归约中,用()来刻画可归约串。源程序命令被逐个直接解释执行
先将
- 编译程序是一种()下述方法中,()不是自下而上分析方法。汇编程序
翻译程序
解释程序#
目标程序规范归约
算符优先分析法
递归下降分析法#
LR分析法
- 一个多遍的编译程序可以较之一遍的编译程序少占内存。编译程序绝大多数时间花在()上。一个LR(1)文法合并同心集后若不是LALR(1)文法()正确#
错误出错处理
词法分析
目标代码生成
管理表格#则可能存在移进/归
- 解释程序的输入只包括源程序。解释程序处理语言时,大多数采用的是()方法。扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即()正确#
错误源程序命令被逐个直接解释执行
先将
- DFA可以通过多条路径识别一个符号串。变量应当()语言程序的测试工具有()编译程序使用()区别标识符的作用域。正确#
错误持有左值
持有右值
既持有左值又持有右值#
既不持有左值也不持有右值静态分析器#
动态测
- 产生式是用于定义词法成分的一种书写规则。优化可生成()的目标代码。编译程序从逻辑结构上,一般由()组成,此外编译程序还包括表格处理程序、出错处理程序。编译过程中扫描器的任务包括()。正确#
错误运行时间较
- 编译和运行是两个独立分开的阶段。词法分析器作为独立的阶段使整个编译程序结构更加简洁、明确,因此,()正确#
错误词法分析器应作为独立的一遍
词法分析器作为子程序较好#
词法分析器分解为多个过程,由语法分析器选
- 所有的编译程序都需要生成中间代码。文法S→abC,bC→ad是几型文法?()正确#
错误0型文法
1型文法#
2型文法
3型文法
- 递归下降法允许任一非终极符是直接左递归的。文法分为四种类型,即0型、1型、2型、3型。其中3型文法是()。正确#
错误短语文法
正则文法#
上下文有关文法
上下文无关文法
- LR法是自顶向下语法分析方法。文法G所描述的语言是()的集合2型文法也称为()。()这样一些语言,它们能被确定的有穷自动机识别,但不能用正规表达式表示。程序一般分为哪两大类?()(ab)a+(ba)*与下面的哪些
- 静态分析器是在不运行程序的情况下对源程序进行静态地分析,以发现程序中潜在的错误或者异常。文法G产生的()的全体是该文法描述的语言。正确#
错误句型
终结符集
非终结符集
句子#
- 编译程序究竟分成几遍,参考的因素主要是源语言和机器(目标)的特征。若一个句型中出现了某一产生式的右部,则此右部()是该句型的句柄。正确#
错误一定
不
不一定#
- 编译程序与具体的机器有关,与具体的语言无关。由文法的开始符经0步或多步推导产生的文法符号序列是()程序语言一般分为()和()两大类。文法S→abC,bC→ad是几型文法?()语法分析的常用方法是()。正确#
错误短
- 语言程序的测试工具有()静态分析器#
动态测试器#
调试工具
格式化工具
- 通常编译过程分成前端和后端,其中前端包括(),后端包括目标代码生成。()是一种典型的解释型语言。在编译的各阶段中,和目标机器关系最为密切的是()。下述方法中,()不是自下而上分析方法。编译程序从逻辑结构上
- 编译程序从逻辑结构上,一般由()组成,此外编译程序还包括表格处理程序、出错处理程序。(ab)a+(ba)*与下面的哪些串匹配?()词法分析程序#
语法分析程序#
语义分析程序#
中间代码生成程序#
代码优化程序#
目标
- 优化可生成()的目标代码。()是两类程序语言处理程序。设有一段C语言程序while(i&&++j){c=2.19;j+=k;i++;},经过词法分析后可以识别的单词个数是()经过编译所得到的目标程序是()。运行时间较短
- 审查每个算符是否具有语言规范允许的运算对象是()的工作。设有一段C语言程序while(i&&++j){c=2.19;j+=k;i++;},经过词法分析后可以识别的单词个数是()面向对象语言的主要特征是()。语法分析
语义
- 下面哪个文法具有二义性()。编译程序的输出结果可以是()。A→AA|(A)|#
E→E+T|T
E→(E)
E→a目标代码#
汇编语言代码#
中间代码#
优化后的中间代码#
可重定位代码#
- 已知文法:S→aAaaBbbAbbBaA→xB→x,则()程序的基本块是指()。LR(1)文法#
LALR(1)文法
都不是
A和B一个子程序
一个仅有一个入口和一个出口的语句
一个没有嵌套的程序段
一组顺序执行的程序段,仅有一个入口和一
- 下列选项中,不属于优化编译程序提供的对代码的各种变换必须遵循的原则的是()。设有表达式a*b-c,将其中a*b识别为表达式的编译阶段是什么()在编译方法中,动态存储分配的含义是()。等价原则
有效原则
最佳原则#
- 2型文法也称为()。代码优化时所依据的是()。短语文法
上下文无关文法#
右线性文法
左性性文法语法规则
词法规则
等价变换规则#
语义规则
- 常用的中间代码表示形式有()。编译程序绝大多数时间花在()上。编译过程中,语法分析器的任务就是()。(1)分析单词是怎样构成的(2)分析单词串是如何构成语句和说明的(3)分析语句和说明是如何构成程序的(4
- 在编译时安排所有数据对象的存储单元的分配策略属于()。静态分配策略#
栈式分配策略#
堆分配策略#
动态分配策略#
- 常见的代码优化包括()。解释程序处理语言时,大多数采用的是()方法。一个上下文无关文法G包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组()。四种形式语言文法中,1型文法又称为(
- 面向对象语言的主要特征是()。在编译方法中,动态存储分配的含义是()。封装性#
集成性
继承性#
多态性#在运行阶段对源程序中的量进行分配#
在编译阶段对源程序中的量进行分配
以上都不是