您好,欢迎访问三七文档
1.把汇编语言程序翻译成机器可执行的目标程序的工作是由B完成的。A、编译器C、解释器D、预处理器2.编译程序生成的目标程序B是机器语言的程序。A、一定B、不一定3.下面关于解释程序的描述正确的是B。①解释程序的特点是处理程序时不产生目标代码。②解释程序适用于COBOL和FORTRAN语言。③解释程序是为打开编译程序技术得僵局而开发的。{A、①②B、①C、①②③D、②③4.设有文法G[I]:I→I1│I0│Ia│Ic│a│b│c下列符号串中是该文法的句子有B。①ab0②a0c01③aaa④bc10可选项有:A、①B、②③④C、③④D、①②③④5.一个上下文无关文法消除了左递归,提取了左公共因子后是满足LL(1)文法的A。A、必要条件B、充分必要条件1.一个语言的文法是B。A、唯一的B、不唯一的C、个数有限的2.设有文法G[S]:S::=S*S|S+S|(S)|a该文法B二义性文法A是B不是C无法判断。3.给定文法A→bA∣cc,下面的符号串中,为该文法句子的是A。A、ccB、bcbcC、bccbccD、bbbcc4.编译过程中,语法分析器的任务是B。①分析单词是怎样构成的②分析单词串是如何构成语句和说明的③分析语句和说明是如何构成程序的④分析程序的结构A、②③B、②③④C、①②③D、①②③④5.一个句型中的最左B成为该句型的句柄。A、短语B、简单短语C、素短语D、终结符号1.面向机器语言指的是____C__。A、用于解决机器硬件设计问题的语言B、特定计算机系统所固有的语言C、各种计算机系统都通用的语言D、只能在一台计算机上使用的语言2.如果文法G是无二义的,则下面D成立。A、文法中的句子对应两棵不同的语法树;B、文法中某个句子有两个不同的最左推导;C、文法中某个句子有两个不同的最右推导;D、文法中任一句子,它的最左或最右推导对应的语法树相同。3.运行阶段的存储组织与管理的目的是____C__。①提高编译程序的运行速度。②提高目标程序的运行速度。③为运行阶段的存储分配做准备。A、①②B、①③C、②③D、①②③4.设有文法G[I]:I-I1|I0|Ia|Ic|a|b|c下列符号串中是该文法的句子的是____C__1ab02a0c013aaa4bc10可选项有A1B234C34D12345.下面说法正确的是A。A、一个SLR(1)文法一定也是LALR(1)文法B、一个LR(1)文法一定也是LALR(1)文法1.动态存储分配时,可以采用的分配方法有____C_______。①以过程为单位的栈式动态存储分配②堆式存储分配③最佳分配方法A、①B、②C、①②D、①②③2.面向机器语言的特点是____D_______。A、程序的执行效率低,编制效率低,可读性差B、程序的执行效率高,编制效率高,可读性强C、程序的执行效率低,编制效率高,可读性强D、程序的执行效率高,编制效率低,可读性差3.下面关于解释程序的描述正确的是B。④解释程序的特点是处理程序时不产生目标代码。⑤解释程序适用于COBOL和FORTRAN语言。⑥解释程序是为打开编译程序技术得僵局而开发的。A、①②B、①C、①②③D、②③4.编译过程中,语法分析器的任务是B。①分析单词是怎样构成的②分析单词串是如何构成语句和说明的③分析语句和说明是如何构成程序的④分析程序的结构A、②③B、②③④C、①②③D、①②③④5.一个句型中的最左B成为该句型的句柄。A、短语B、简单短语C、素短语D、终结符号1.编译程序众的语法分析器接受以C为单位的输入,并产生有关信息工以后各阶段适用。A、表达式B、产生式C、单词D、语句2.经过编译所得到的目标程序是D。A、四元式序列B、二元式序列C、间接三元式序列D、机器语言程序或汇编语言程序3.编译程序是将高级语言程序翻译成B。A、机器语言程序B、汇编语言程序或机器语言程序C、汇编语言程序或高级语言程序D、机器语言程序或高级语言程序4.设有文法G[I]:I→I1│I0│Ia│Ic│a│b│c下列符号串中是该文法的句子有B。①ab0②a0c01③aaa④bc10可选项有:A、①B、②③④C、③④D、①②③④5.巴科斯-诺尔范式(BNF)是一种广泛采用的C的工具。A、描述规则B、描述语言C、描述文法D、描述句子1.编译程序众的语法分析器接受以C为单位的输入,并产生有关信息工以后各阶段适用。A、表达式B、产生式C、单词D、语句2.如果文法G是无二义的,则下面D成立。A、文法中的句子对应两棵不同的语法树;B、文法中某个句子有两个不同的最左推导;C、文法中某个句子有两个不同的最右推导;D、文法中任一句子,它的最左或最右推导对应的语法树相同。3.编译过程中,语法分析器的任务是B。(1)分析单词是怎样构成的(2)分析单词串是如何构成语句和说明的(3)分析语句和说明是如何构成程序的(4)分析程序的结构A、(2)(3)B、(2)(3)(4)C、(1)(2)(3)D、(1)(2)(3)(4)4.动态存储分配时,可以采用的分配方法有C。①以过程为单位的栈式动态存储分配。②堆式存储分配。③最佳分派方法A、①B、②C、①②D、①②③5.一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包含C。A、模拟执行器B、解释器C、表格处理和出错处理D、符号执行器1.一个LR(1)文法合并同心集后若不是LALR(1)文法B。A、则可能存在移进/归约冲突B、则可能存在归约/归约冲突C、则可能存在移进/归约冲突和归约/归约冲突2.LL(k)文法B二义性的。A、都是B、都不是C、不一定3.与PASCAL语言存储分配方式相识的语言是A。A、C语言B、BASIC语言C、FORTRAN-77D、C++语言4.B这样一些语言,它们能够被确定的有穷自动机识别,但不能用正规表达式表示。A、存在B、不存在C、无法判定5.编译程序在其工作过程中使用最多的数据结构是D。A、线性表B、链表C、表D、符号表1.程序语言的语言处理程序是一种A。A、系统软件B、应用软件C、实时软件D、分布式系统2.一个正规语言只能对应B。A、一个正规文法B、一个最小有限状态自动机3.下列关于标识符和名字的叙述中,正确的为D。A、标识符有一定的含义B、名字是一个没有意义的字符序列C、名字有确切的属性D、都不对4.文法G[A]:A→εA→aBB→AbB→a是B。A、正规文法B、二型文法5.返填技术指的是A。A、生成跳转、调用等指令时,不能获得转向地址,需要等到获得该转向地址后再回来填写。B、符号表中过程或函数标识符的地址部分要填上入口地址,在扫描到过程或函数标识符的说明时这些地址是无法知道的,只有等到开始生成过程或函数的指令部分时才能填入。C、A和BD、都不确切1.一般程序设计语言的定义都涉及B三个方面。①语法②语义③语用④程序基本符号的确定A、①②③B、①②④C、②③④D、①③④2.下面说法正确的是B。A、一个正规式只能对应一个确定的有限状态自动机;B、一个正规语言可能对应多个正规文法;3.程序基本块是指D。A、一个子程序B、一个仅有一个入口和一个出口的语句C、一个没有嵌套的程序段D、一组顺序执行的程序段,仅有一个入口和一个出口。4.词法分析的常用方法有A。A、有穷自动机理论B、图灵机C、图论D、无穷自动机理论5.编译方法中自顶向下的语法分析算法有D。①简单优先分析方法②算符优先分析方法③递归子程序法④LL(K)分析法⑤SLR分析法⑥LR(K)方法⑦LALR(K)方法⑧预测分析方法A、①②③⑧B、④⑤⑥⑦C、①②⑤⑥⑦D、③④⑧E、①②③⑤⑥二、填空题(15分)1.编译程序必须完成的工作有A。①词法分析②语法分析③语义分析④代码生成⑤中间代码生成⑥代码优化A、①②③④B、①②③④⑤C、①②③④⑤⑥D、①②③④⑥E、①②③⑤⑥2.语法分析的常用方法有D。A、自顶向下匹配B、自底向上归约C、回溯法D、自顶向下匹配和自底向上归约3.在编译程序采用的优化方法中,C是在循环语句范围内进行的。(1)合并已知常量(2)删除多余运算(3)删除归纳变量(4)强度削弱(5)代码外提A、(1)(4)B、(1)(5)C、(1)(4)(5)D、(3)(4)(5)4.过程调用时,参数的传递方法通常有D。(1)传值(2)传地址(3)传结果(4)传名A、(1)(2)B、(1)(2)(3)C、(1)(2)(4)D、(1)(2)(3)(4)5.编译方法中自底向上的语法分析算法有C。①简单优先分析方法②算符优先分析方法③递归子程序法④LL(K)分析法⑤SLR分析法⑥LR(K)方法⑦LALR(K)方法⑧预测分析方法A、①②③⑧B、④⑤⑥⑦C、①②⑤⑥⑦D、③④⑧E、①②③⑤⑥1.文法G所描述的语言是D集合。A、文法G的字汇表V中所有符号组成的符号串B、文法G的字汇表V的闭包V*中的所有符号串C、由文法的识别符号推出的所有符号串D、由文法的识别符号推出的所有终结符号串2.下面说法正确的是B。A、一个正规式只能对应一个确定的有限状态自动机;B、一个正规语言可能对应多个正规文法;3.代码生成应着重考虑的问题是B。①每一个语法成分的语义②目标程序运行所占用的空间③目标程序的运行速度④目标代码中需要那些信息,怎样截取这些信息A、①②B、①②③C、①②④D、①④4.编译程序在优化时,B用到源程序中的注释。A、可能要B、不可能5.下面说法正确的是A。A、一个正规文法也一定是二型文法B、一个二型文法也一定能有一个等价的正规文法1.文法的二义性和语言的二义性是两个A的概念。A、不同B、相同C、不一定2.下面说法正确的是B。A、一个正规式只能对应一个确定的有限状态自动机;B、一个正规语言可能对应多个正规文法;3.LR语法分析栈中存放的状态是识别的BDFA状态。A、前缀B、可归前缀C、项目D、句柄4.正规文法A二义性的。A、可以是B、一定不是C、一定是5.高级语言编译程序常用的语法分析方法中,递归下降分析法属于B分析方法。A、自左向右B、自顶向下C、自底向上D、自右向左1.一个语言的文法是B。A、唯一的B、不唯一的C、个数有限的2.代码生成应着重考虑的问题是D。①每一个语法成分的语义②目标程序运行所站用的空间③目标程序的运行速度④目标代码中需要那些信息,这样截取这些信息。A、①②B、①②③C、①②④D、①④3.运行阶段的存储组织与管理的目的是C。①提高编译程序的运行速度。②提高目标程序的运行速度。③为运行阶段的存储分配做准备。A、①②B、①③C、②③D、①②③4.编译过程中,比较常见的中间语言有D。①波兰表示②逆波兰表示③三元式④四元式⑤树形表示A、①②④B、②③④C、①③④⑤D、②③④⑤5.过程信息表中至少应该包括有D。①过程名②过程的静态层次③过程的入口地址④过程首部在源程序中的行号⑤有关过程的参数信息。A、①②③B、①③④C、①②③④D、①③⑤二、填空题(15分)1.如果在一个文法中存在某个句子,它有二个以上的最左(最右)推导,也就是说,若该句子对应两棵不同的语法树,则这个文法是二义性文法。2.假设G是一个文法,S是文法的开始符号,如果S*x,则称x是句型。(2分)3.LR(K)分析法中,L的含义是自左向右进行分析,R含义是采用最右推导的逆过程最左归约,“K”的含义是至多向前查看K个输入符号。4.自顶向下语法分析方法会遇到的主要问题有左递归和回溯。5.编译过程中,常见的中间语言形式有三元式、逆波兰式和四元式。6.在编译程序中安排中间代码生成的目的是便于代码优化和便于目标程序的移植。1.程序的翻译方式有两种,分别是_编译方式_和_解释方式_。2.字的前缀是指该字的任意首部。(2分)3.LR(1)分析法中,L的含义是自左向右进行分析,R含义是采用最右推导的逆过程-最左归约,“1”的含义是向貌似句柄的符号串后查看一个输入符号。4.编译过程中,常见的中间语言形式有三元式、逆波兰式和四元式。5.程序的可再入性指的是:当程序在执行时,可以_随时中断__它的执行,也可随时_执行进程__恢复其原来的_执行进程_;而且可以在_中断时间里_,又从该程序的_头上开始
本文标题:编译原理复习题
链接地址:https://www.777doc.com/doc-4362298 .html