查看所有试题
- 数组的内情向量中肯定不含有数组的()的信息。如果文法G是无二义的,则它的任何句子()高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析方法。维数#
类型
维上下界
各维的界差最左推导和最右推导
- 在编译程序中与生成中间代码的目的无关的是()设有表达式a*b-c,将其中a*b识别为表达式的编译阶段是什么()便于目标代码优化
便于存储空间的组织#
便于目标代码的移植
便于编译程序的移植词法分析
语法分析#
语义分
- 程序所需的数据空间在程序运行前就可确定,称为()管理技术。()不是编译程序的组成部分。在词法分析阶段不能识别的是()中间代码生成时所以据的是()使用间接三元式表示法的主要目的()在编译程序使用的表格中,
- 如果L(M1)=L(M2),则M1与M2()。一个上下文无关文法G包括四个组成部分:一组终结符,一组非终结符,一个(),以及一组()。在编译程序使用的表格中,最重要的是()。等价#
都是二义的
都是无二义的
它们的状态数
- 给定文法G:E→E+TT,T→T*FF,F→i(E)则L(G)中的一个句子i+i+(i*i)*i的逆波兰表示为()iii*i++
ii+iii**+
ii+ii*i*+#
其他
- 设有文法G={{S},{a},{S→SaSε},S},该文法是()文法S→aaSabc定义的语言是()程序的基本块是指()。(ab)a+(ba)*与下面的哪些串匹配?()LL(1)文法
二义性文法#
SLR(1)文法
算法优先文法{a2kbc|k>0}
{akb
- 中间代码生成时所以据的是()程序语言一般分为()和()两大类。语法分析的方法大致可分为哪两类?()语法规则
词法规则
语义规则#
等价变换规则高级语言;低级语言
低级语言;通用程序语言
高级语言;专用程序语
- 自下而上语法分析的主要分析动作是()指出哪些串是自动机可接受的?()推导
规约
匹配
移进-规约#yyy#
xx
yyyxy#
yxxy#
yx#
- 算法优先分析中,可规约串是()构造编译程序应掌握()句柄
活前缀
最左素短语#
素短语源程序
目标语言
编译方法
以上三项都是#
- 设有文法G[S]为S→ABbC,A→εb,B→εaD,C→ADb,D→aSc则FOLLOW与A的函数为()哪个不是DFA的构成成分()在编译程序中与生成中间代码的目的无关的是()LR(1)文法都是()。语言程序的测试工具有(){a,c,#}#
{c,#}
{a,#}
- 设有文法G[S]:S→ApBq,A→acA,B→bdB,则FIRST(Ap)为()算法优先分析中,可规约串是(){p,q}
{b,d}
{a,c}#
其他句柄
活前缀
最左素短语#
素短语
- 文法S→aaSabc定义的语言是()优化可生成()的目标代码。{a2kbc|k>0}
{akbc|k>0}
{a2k-1bc|k>0}
{akakbc|k>0}#运行时间较短
占用存储空间较小
运行时间短但占用内存空间大
运行时间短且占用存储空间小#
- 下面哪个文法具有二义性()。A→AA|(A)|#
E→E+T|T
E→(E)
E→a
- 下面不属于LL(1)分析器的组成部分是()四元式之间的联系是通过()实现的。LL(1)总控程序
LL(1)分析表
分析栈
源程序串#指示器
临时变量#
符号表
程序变量
- 关于堆式分配,下面说法正确地是()。属于动态分配#
属于静态分配
适用于可递归调用、具有分程序结构的语言
适用于允许为变量动态申请内存空间的语言#
- 自上而下语法分析的主要动作是()下面不能用于对文法进行描述的是()四元式是一种比较普遍采用的中间代码形式,它的四个组成成分是()。移进
推导#
规约
匹配源语言#
EBNF
BNF
语法图算法op#
第一运算对象ARG1#
第
- 算符优先分析与规范归约相比的优点是()四元式是一种比较普遍采用的中间代码形式,它的四个组成成分是()。归约速度快#
对文法限制少算法op#
第一运算对象ARG1#
第二运算对象ARG2#
运算结果RESULT#
- 在词法分析阶段不能识别的是()若文法G定义的语言是无限集,则文法必然是()数组的内情向量中肯定不含有数组的()的信息。词法分析器的输入是()计算机执行用高级语言编写的程序有哪些途径?()标识符
运算符
四
- 设有一段C语言程序while(i&&++j){c=2.19;j+=k;i++;},经过词法分析后可以识别的单词个数是()将编译程序分成若干个“遍”是为了()程序一般分为哪两大类?()19
20#
21
23提高程序的执行效率
使程序的
- 若文法G定义的语言是无限集,则文法必然是()递归的#
前后文无关的
二义性的
无二义性的
- 编写一个计算机高级语言的源程序后,到正式上机运行之前,一般要经过()这几步:(1)编辑(2)编译(3)连接(4)运行自下而上语法分析的主要分析动作是()使用间接三元式表示法的主要目的()扫描器所完成的任务是
- 下面不能用于对文法进行描述的是()源语言#
EBNF
BNF
语法图
- 设有文法G[S]:S→S1S0SaScabc,下列符号串中不是该文法的句子的是()文法G[S]:S→aAA→bBB→aaS,则L(G)为()ab0#
a0c01
aaa
bc10{(ab)na|n≥1}
{a(ba)n|n≥1}
{(aba)n|n≥1}#
{(aba)n|n≥0}
- 词法分析器的输入是()哪个不是DFA的构成成分()LR(1)文法都是()。单词符号串
源程序#
语法单位
目标程序有穷字母表
初始状态集合#
终止状态集合
有限状态集合无二义性且无左递归
可能有二义性但无左递归
无二
- 哪个不是DFA的构成成分()最左简单子树的末端节点构成的符号串称为()。有穷字母表
初始状态集合#
终止状态集合
有限状态集合句柄#
最左素短语
素短语
简单短语
- 设有文法G[S]:S→S1S0SaScabc,下列符号串中不是该文法的句子的是()编译程序是一种()中间代码生成时所以据的是()ab0#
a0c01
aaa
bc10汇编程序
翻译程序
解释程序#
目标程序语法规则
词法规则
语义规则#
等价变
- 文法G[S]:S→aAA→bBB→aaS,则L(G)为()根据优化所涉及的范围,可将优化分为()。{(ab)na|n≥1}
{a(ba)n|n≥1}
{(aba)n|n≥1}#
{(aba)n|n≥0}局部优化#
过程优化
全局优化#
循环优化#
四元式优化
- 下面不能用于对文法进行描述的是()编写一个计算机高级语言的源程序后,到正式上机运行之前,一般要经过()这几步:(1)编辑(2)编译(3)连接(4)运行给定文法G:E→E+TT,T→T*FF,F→i(E)则L(G)中的一个句子i+i
- 设有表达式a*b-c,将其中a*b识别为表达式的编译阶段是什么()代码优化时所依据的是()。编译程序工作时,通常包括()阶段。词法分析
语法分析#
语义分析
代码生成语法规则
词法规则
等价变换规则#
语义规则词法分析
- 文法S→aaSabc定义的语言是()产生正规语言的文法为()四元式之间的联系是通过()实现的。{a2kbc|k>0}
{akbc|k>0}
{a2k-1bc|k>0}
{akakbc|k>0}#0型
1型
2型
3型#指示器
临时变量#
符号表
程序变量
- 哪个不是编译系统的组成部分()若文法G定义的语言是无限集,则文法必然是()下面不属于LL(1)分析器的组成部分是()词法分析器
代码生成器
设备管理程序#
语法分析器递归的#
前后文无关的
二义性的
无二义性的LL
- ()不是编译程序的组成部分。()是两类程序语言处理程序。编写一个计算机高级语言的源程序后,到正式上机运行之前,一般要经过()这几步:(1)编辑(2)编译(3)连接(4)运行把一个高级语言程序翻译成机器可执行
- 通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括()。堆式动态分配申请和释放存储空间遵守()原则。若文法G定义的语言是无限集,则文法必然是()
- 编译原理是对()。文法G:E→E+TTT→T*PPP→(E)i则句型P+T+i的句柄为()有文法G:E→E*TTT→T+ii句子1+2*8+6按该文法G归约,其值为()A、机器语言的执行
B、汇编语言的翻译
C、高级语言的翻译#
D、高级语言程序的解释
- ()是一种典型的解释型语言。若文法G定义的语言是无限集,则文法必然是()BASIC#
C
FORTRAN
PASCAL递归的#
前后文无关的
二义性的
无二义性的
- 一个LR(1)文法合并同心集后若不是LALR(1)文法()则可能存在移进/归约冲突
则可能存在归约/归约冲突#
则可能存在移进/归约冲突和归约/归约冲突
- 算符优先分析与规范归约相比的优点是()设有一段C语言程序while(i&&++j){c=2.19;j+=k;i++;},经过词法分析后可以识别的单词个数是()2型文法也称为()。编译器与要编译的源程序的接口阶段是()。归
- 一个上下文无关文法消除了左递归,提取了左公共因子后是满足LL(1)文法的()通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括()。算法优先分析中,
- 一个正规语言只能对应()一个正规文法
一个最小有限状态自动机#
- 一个名字的属性包括()和()。在编译程序中与生成中间代码的目的无关的是()产生正规语言的文法为()一个LR(1)项目可以看成()两个部分组成。类型;作用域便于目标代码优化
便于存储空间的组织#
便于目标代码