编译原理知到智慧树章节测试课后答案2024年秋哈尔滨工程大学_第1页
编译原理知到智慧树章节测试课后答案2024年秋哈尔滨工程大学_第2页
编译原理知到智慧树章节测试课后答案2024年秋哈尔滨工程大学_第3页
编译原理知到智慧树章节测试课后答案2024年秋哈尔滨工程大学_第4页
编译原理知到智慧树章节测试课后答案2024年秋哈尔滨工程大学_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编译原理知到智慧树章节测试课后答案2024年秋哈尔滨工程大学第一章单元测试

编译器(Compiler)能捕捉的错误都是静态错误(Staticerrors)。

A:错B:对

答案:对编译器只能识别动态(Dynamic)语义,但不能识别静态(Static)语义。

A:对B:错

答案:错对源程序进行编译正确处理顺序为()

A:词法分析、语法分析、语义分析、代码生成B:语法分析、词法分析、语义分析、代码生成C:其他选项都不对D:语义分析,语法分析、词法分析,代码生成

答案:词法分析、语法分析、语义分析、代码生成编译器的各个阶段的产物分别是()、中间代码和目标代码。

A:语法树、分析树、注释树B:其他选项都错C:记号序列、注释树、分析树D:记号序列、语法树、注释树

答案:记号序列、语法树、注释树

()执行翻译代码的功能,且立即执行源程序,而不产生中间代码。

A:编译器B:解释程序

C:连接程序D:汇编程序

答案:解释程序

将编译程序分成若干个“遍”是为了____。

A:利用有限的机器内存但降低了机器的执行效率B:使程序的结构更加清晰

C:提高程序的执行效率D:利用有限的机器内存并提高机器的执行效率

答案:利用有限的机器内存并提高机器的执行效率词法分析器用于识别_____。

A:语句

B:标识符C:单词

D:字符串

答案:单词

在编译器的功能模块中,扫描器的功能是()。

A:词法分析B:语义分析C:语法分析

D:代码优化

答案:词法分析编译器进行的是(

A:静态和动态语义分析B:动态语义分析C:静态语义分析

D:其他选项都不对

答案:静态语义分析

编译器中词法分析的输入和输出分别是()

A:语法树、注释树B:字符串、记号串

C:记号串、语法树D:记号串、注释树

答案:字符串、记号串

第二章单元测试

确定的自动机以及不确定的自动机都能正确地识别正规集。

A:对B:错

答案:对正则文法、DFA和正则表达式均可以用于描述高级程序设计语言的词法。

A:错B:对

答案:对在有穷自动机中,两个状态是等价的条件是(

)。

A:同为可接受状态或不可接受状态B:两个状态都不是无用状态

C:对于所有输入,两个状态迁移到等价状态里D:A和B

答案:A和B扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即()

A:句子B:字符

C:句型D:单词

答案:单词设∑为{a,b},则a,ba,{

},Ø都是∑上的正规式。

A:对B:错

答案:对以下()不是DFA的组成部分。

A:初始状态集合

B:有限状态集合C:终止状态集合D:有穷字母表

答案:初始状态集合

在有穷自动机中,有穷自动机的状态s和t不等价,则称这两个状态是可区别的。

A:错B:对

答案:对“由大写字母组成的、以Z开头并且不以Z结尾的字符串”的正则表达式是()

A:Z[a-z]+[a-Y]B:Z[a-Z]*[A-Y]C:Z[a-Y]*D:

Z[a-z]*Z

答案:Z[a-Z]*[A-Y]下面(

)是词法分析的理论基础。

A:下推自动机

B:有穷自动机C:正规文法D:正规式

答案:有穷自动机

第三章单元测试

高级语言编译程序常用的语法分析方法中,递归下降分析法属于(

)分析方法。

A:自左至右B:自右向左C:自顶向下

D:自底向上

答案:自顶向下

下面哪种分析方法是自顶向下分析(

)。

A:LR(0)B:SLR(1)

C:LL(1)D:LR(1)

答案:LL(1)推导是一个替换序列,每一步都是对()进行替换,形成一个从单独的结构名开始,结束于一串记号符号的过程。

A:记号

B:非终结符C:终结符

D:特殊符号

答案:非终结符语言中具有独立意义的最小语法单位是(

)。

A:程序B:字符C:语句

D:词(记号)

答案:词(记号)词法分析器交给语法分析器的文法符号一定是(),它一定只出现在产生式的(

)部。

A:非终结符

B:终结符左C:非终结符

右D:终结符右

答案:终结符右在文法中可能引起二义性的原因有:(

)。

A:其他选项都有可能B:运算的结合性C:运算的优先级D:else的悬挂问题

答案:其他选项都有可能正则文法产生的语言都可以用上下文无关文法来描述。

A:错B:对

答案:对编译过程中,语法分析器的任务是____________。①分析单词是怎样构成的②分析单词串是如何构成语句和说明的③分析语句和说明是如何构成程序的④分析程序的结构

A:①②③④B:④C:②和③D:②③④

答案:②③④

LL(1)分析方法中第一个“L”、第二个“L”以及括号中的数字“1”分别代表的意义是:

A:输入符号从左至右处理;分析过程对应最左推导;先行查看一个符号。B:输入符号从左至右处理;分析过程对应最左推导;移入一个符号。C:其他选项都不对。D:分析过程对应最左推导;输入符号从左至右处理;先行查看一个符号。

答案:输入符号从左至右处理;分析过程对应最左推导;移入一个符号。一个文法所描述的语言是(

);描述一个语言的文法是(

)。

A:唯一的B:可能唯一C:可能不唯一D:不唯一的

答案:唯一的;不唯一的

第四章单元测试

递归下降的基本方法是将非终结符A的文法规则看作是()的定义。

A:递归调用AB:搜索A的一个函数C:预测A的一个算法D:识别A的一个过程

答案:识别A的一个过程每个文法都能改写为LL(1)文法。

A:对B:错

答案:错一个LL(l)文法可能是无二义的,也可能是二义性的文法。

A:错B:对

答案:错递归下降法允许任一非终结符是直接左递归的。

A:对B:错

答案:错对下面文法中非终结符First集合描述正确的是(

)。E->(L)|a|εL->EL+|E

A:First(E)={

(

a

+

ε}B:First(L)={

(

a

+

}C:First(E)={

(

a

+

}D:First(L)={

(

a

+

ε}

答案:First(L)={

(

a

+

ε}LL(1)预测分析表中,索引行的是(

),索引列的是(

),表示当非终结符遇到输入栈的终结符的时候,应该用什么规则来替换。

A:非终结符

非终结符B:终结符终结符

C:非终结符

终结符D:终结符非终结符

答案:非终结符

终结符通过算法可以判定文法是否是二义性的。

A:对B:错

答案:错文法经过修改都可以进行自顶向下分析。

A:对B:错

答案:错如果产生式中没有ε-产生式,那么无需求解Follow集合。

A:对B:错

答案:对判断文法是否是LL(1)文法时,第一个判定规则是,同一个产生式的多个产生式选项的First集合两两相交为空。

A:对B:错

答案:对

第五章单元测试

任何一个L属性文法(L-AttributedGrammar)都是S属性文法(S-AttributedGrammar)。

A:对B:错

答案:错给定一个属性文法,通过对文法的适当修改,而无须改变文法的语言,所有的合成属性(Synthesizedattributes)都可以转换为继承属性(Inheritedattributes)。

A:错B:对

答案:错编译器既能识别静态语义,又能识别动态语义。

A:对B:错

答案:错编译器能够识别()的语义。

A:静态

B:动态和静态

C:动态

D:其他选项都不对

答案:静态

编译器(Compiler)能捕捉的错误都是动态错误(Dynamicerrors)。

A:错B:对

答案:错编译器只能识别静态(Static)语义,但不能识别动态(Dynamic)语义。

A:对B:错

答案:对任何一个S属性文法都是L属性文法。

A:对B:错

答案:错给定一个属性文法,通过对文法的适当修改,而无须改变文法的语言,所有的继承属性都可以转换为合成属性。

A:错B:对

答案:错以下说法正确的是()。

A:属性值在分析过程中可以进行计算,但不能传递

B:终结符只有继承属性,它由词法分析器提供C:非终结符可以有综合属性,但不能有继承属性D:语义规则中的属性有两种:综合属性与继承属性

答案:语义规则中的属性有两种:综合属性与继承属性文法符号的属性有两种,一种称(),另一种称为()。

A:抽象属性综合属性B:抽象属性派生属性C:继承属性综合属性D:传递属性抽象属性

答案:继承属性综合属性

第六章单元测试

对于数据空间的存贮分配,FORTRAN采用动态贮存分配策略。

A:对B:错

答案:错下列对完全静态存储分配的含义描述错误的是(

)。

A:每个变量都有一个固定的存储地址B:允许递归调用C:每个过程只有一个活动记录D:没有指针和动态分配

答案:允许递归调用过程信息表(过程活动记录)中至少应该包括有____。①过程名②过程的静态层次③过程的入口地址④过程首部在源程序中的行号⑤有关过程参数的信息

A:①②③B:①③⑤

C:①②③④⑤D:①③④

答案:①②③④⑤动态存储分配时,可以采用的分配方法是(

)1)

以过程为单位的栈式动态存储分配2)

堆存储分配3)

最佳分配方法

A:1B:1,2,3C:1,2

D:2

答案:1,2,3数组元素的地址计算与数组的存储方式有关。

A:对B:错

答案:对编译程序使用_____区别标识符的作用域。

A:说明标识符的过程或函数的静态层次B:说明标识符的过程或函数名C:说明标识符的过程或函数的动态层次D:

标识符的行号

答案:说明标识符的过程或函数名C语言,允许递归过程,还允许用户动态地申请和释放存储空间,应采用以下哪种存储分配策略()。

A:都有B:栈式分配策略C:堆式分配策略D:静态分配策略

答案:都有活动记录中静态链的作用是()。

A:建立本过程和主调过程间的联系B:用以实现对非局部名字的访问C:表明过程的嵌套层次D:用来指向静态数据区

答案:用以实现对非局部名字的访问过程的活动生存期是指从该过程体第一步操作到最后一步操作之间的操作序。两个过程的活动生存期可以重叠。

A:对B:错

答案:错一个程序可用一个流图来表示。

A:对B:错C:无法判断

答案:对

第七章单元测试

以下各个编译器模块除了()外,都无需考虑目标机器的特性。

A:词法分析

B:语法分析C:代码生成

D:语义分析

答案:代码生成

后缀表示的特点是()。

A:操作符的顺序就是计算发生的顺序B:其他选项都是C:操作数的顺序与原来相同D:后缀表示中无需括号

答案:其他选项都是对代码生成阶段(CodeGeneration)描述正确的是(

)。

A:不仅要考虑源程序的特征,而且要考虑目标机的硬件细节B:只需考虑源程序的特征即可C:只需考虑目标机的硬件细节D:与源程序和目标机的硬件细节无关

答案:不仅要考虑源程序的特征,而且要考虑目标机的硬件细节A:=8*(7*B-C)的后缀表示是(

)。

A:7B*C-8*A:=

B:A87B*C-*:=

C:A8:=7B*C-*D:其他选项都不对

答案:7B*C-8*A:=

逆波兰法表示的表达式亦称前缀式。

A:错B:对

答案:错目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。

A:对B:错

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论