学期北京航空航天大学网考复习题编译技术讲解.doc

上传人:s****u 文档编号:12813450 上传时间:2020-05-26 格式:DOC 页数:21 大小:418.01KB
返回 下载 相关 举报
学期北京航空航天大学网考复习题编译技术讲解.doc_第1页
第1页 / 共21页
学期北京航空航天大学网考复习题编译技术讲解.doc_第2页
第2页 / 共21页
学期北京航空航天大学网考复习题编译技术讲解.doc_第3页
第3页 / 共21页
点击查看更多>>
资源描述
1.乔姆斯基(Chomsky)把文法分为四种类型,即0型、1型、2型、3型。其中3型文法是( )。 A.正则文法 B.上下文无关文法 C.上下文有关文法 D.短语文法 答案:A 2.( )文法不是LL(1)的。 A.递归 B.右递归 C.2型 D.含有公共左因子 答案:D 3.LR(k)分析是一种自底向上的分析法,它是以下面哪个作为每一步规约的对象?( ) A.最右直接短语 B.最左直接短语 C.句柄 D.最左素短语 答案:C 4.LR(K)方法是( )。 A.从左到右分析,每次走K步的一种编译方法 B.从左到右分析,共经过K步的一种编译方法 C.从左到右分析,每次向前预测K步的一种编译方法 D.从左到右分析,是否归约句柄要向后看K个输入符号的一种编译方法 答案:C 5.SLR(1)分析法的名字中,“L”的含义是( )。 A.自左向右进行分析 B.自右向左进行分析 C.采用最右推导的逆过程 D.采用最左推导的逆过程 答案:A 6.编译程序绝大多数时间花在( )上。 A.出错处理 B.词法分析 C.目标代码生成 D.管理表格 答案:D 7.在使用高级语言编程时,首先可通过编译程序发现源程序的什么错误?( ) A.语法 B.语义 C.语用 D.运行 答案:A 8.( )不是编译程序的组成部分。 A.词法分析器 B.设备管理程序 C.语法分析程序 D.代码生成程序 答案:B 9.编译程序是将( )翻译成( ) 。 A.汇编语言程序 机器语言程序 B.高级语言程序 汇编语言程序或机器语言程序 C.汇编语言程序或高级语言程序 机器语言程序或高级语言程序 D.高级语言程序 机器语言程序或高级语言程序 答案:B 10.通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括( )。 A.模拟执行器 B.解释器 C.表格处理和出错处理 D.符号执行器 答案:C 11.编译器与要编译的源程序的接口阶段是( )。 A.扫描程序 B.语法分析程序 C.语义分析程序 D.代码生成器 答案:A 12.由于受到具体机器主存容量的限制,编译程序几个不同阶段的工作往往被组合成( )。 A.过程 B.程序 C.批量 D.遍 答案:D 13.编译程序使用( )区别标识符的作用域。 A.说明标识符的过程或函数名 B.说明标识符的过程或函数的静态层次 C.说明标识符的过程或函数的动态层次 D.标识符的行号 答案:B 14.( )不是NFA的成分。 A.有穷字母表 B.初始状态集合 C.终结状态集合 D.有限状态集合 答案:B 15.编译过程中,语法分析器的任务是( )。 A.分析单词是怎样构成的 B.分析单词串是如何构成语句和说明的 C.分析语句和说明是如何构成程序的 D.分析程序的结构 答案:B 16.词法分析器的输入是( )。 A.单词符号串 B.源程序 C.语法单位 D.目标程序 答案:B 17.词法分析器用于识别( )。 A.字符串 B.语句 C.单词 D.标识符 答案:C 18.代码生成阶段的主要任务是( )。 A.把高级语言翻译成汇编语言 B.把高级语言翻译成机器语言 C.把中间代码变换成依赖具体机器的目标代码 D.把汇编语言翻译成机器语言 答案:C 19.代码优化时所依据的是( )。 A.语法规则 B.词法规则 C.等价变换规则 D.语义规则 答案:C 20.优化可生成( )的目标代码。 A.运行时间较短 B.占用存储空间较小 C.运行时间短但占用内存空间大 D.运行时间短且占用内存空间小 答案:D 21.下面哪个不是单词的描述工具?( ) A.正规式 B.有穷自动机 C.下推自动机 D.正规文法 答案:C 22.高级语言编译程序常用的语法分析方法中,递归分析法属于( )分析方法。 A.自右至左 B.自左至右 C.自底向上 D.自顶向下 答案:D 23.设有文法GS: S S*S | S+S | (S) | a,该文法( )二义性文法。 A.是 B.不是 C.不一定 答案:A 24.把汇编语言程序翻译成机器可执行的目标程序的工作是由( )完成的。 A.编译器 B.汇编器 C.解释器 D.预处理器 答案:B 25.用高级语言编写的程序经过编译后产生的程序叫( )。 A.源程序 B.目标程序 C.函数 D.过程 答案:B 26.程序语言一般分为( )和( )两大类。 A.高级语言 低级语言 B.低级语言 通用程序语言 C.高级语言 专用程序语言 D.低级语言 专用程序语言 答案:D 27.下面的文法是( )。SaAa|aBb|bAb|bBa Ax Bx A.LR(1)文法 B.LALR(1)文法 C.都不是 D.A和B 答案:A 28.若一个句型中出现了某一产生式的右部,则此右部( )是该句型的句柄。 A.一定 B.不一定 答案:B 29.xab+cde-*f/+:=是赋值语句( )相应的后缀式 。 A.x:=a+b+c*d-e/f B.x:=a+(b+c)*d-e/f C.x:=a+b+c*(d-e)/f D.x:=a+b+c+(c*d)-e/f 答案:C 30.表达式(AB)(CDE)的逆波兰表示为( )。 A.ABCDE B.ABCDE C.ABCDE D.ABCDE 答案:A 31.以下中间代码的表示形式中,( )更便于优化。 A.三元式 B.四元式 C.树 D.后缀式 答案:B 32.程序基本块是指( )。 A.一个子程序 B.一个仅有一个入口和一个出口的语句 C.一个没有嵌套的程序段 D.一组顺序执行的程序段,仅有一个入口和一个出口 答案:D 33.间接三元式表示法的优点是( )。 A.采用间接码表,便于优化处理 B.节省存储空间,不便于表的管理 C.便于优化处理,节省存储空间 D.节省存储空间,不便于优化管理 答案:A 34.解释程序处理语言时,大多数采用的是( )。 A.源程序命令被逐个直接解释执行 B.先将源程序转化为中间代码,再解释执行 C.先将源程序解释转化为目标程序,再执行 D.以上方法都可以 答案:B 35.动态存储分配时,可以采用的分配方法有( )。(1)过程为单位的栈式动态存储分配(2)堆存储分配(3)最佳分配方法 A.(1) B.(2) C.(2)(3) D.(1)(2)(3) 答案:D 36.在编译方法中,动态存储分配的含义是( )。 A.在运行阶段对源程序中的量进行分配 B.在编译阶段对源程序中的量进行分配 C.以上都不是 答案:A 37.最左简单子树的末端节点构成的符号串称为( )。 A.句柄 B.最左素短语 C.素短语 D.简单短语 答案:A 38.经过编译所得到的目标程序是( )。 A.四元式序列 B.间接三元式序列 C.二元式序列 D.机器语言程序或汇编语言程序 答案:D 39.( )这样一些语言,它们能被确定的有穷自动机识别,但不能用正规表达式表示。 A.存在 B.不存在 C.无法判定是否存在 答案:B 40.在通常的语法分析方法中,( )特别适用于表达式的分析。 A.算符优先分析法 B.LR分析法 C.递归下降分析法 D.LL(1)分析法 答案:A 41.已知文法GS是无二义的,它定义的语言L(GS)中的一个句子x和一个句型y,下面正确的是( )。 A.一定存在S到x的最左推导 B.一定会有S到y的两种不同推导 C.一定存在S到y的最左推导 D.一定存在唯一与x对应得语法树 答案:D 42.如果文法G是无二义的,则它的任何句子( )。 A.最左推导和最右推导对应的语法树必定相同 B.最左推导和最右推导对应的语法树可能不同 C.最左推导和最右推导必定相同 D.可能存在两个不同的最左推导,但它们对应的语法树相同 答案:A 43.BNF是一种广泛采用的( )的工具。 A.描述规则 B.描述语言 C.描述文法 D.描述句子 答案:C 44.文法SabC,bCad是几型文法?( ) A.0型文法 B.1型文法 C.2型文法 D.3型文法 答案:B 45.文法G所描述的语言是( )的集合。 A.文法G的字汇表V中所有符号组成的符号串 B.文法G的字汇表V的闭包V*中的所有符号串 C.由文法的识别符号推出的所有符号串 D.由文法的识别符号推出的所有终结符号串 答案:B 46.若一个文法是递归的,则它所产生语言的句子个数( )。 A.必定是无穷的 B.是有限个的 C.根据具体情况而定 答案:A 47.下面的优化项目中,不属于循环优化的是( )。 A.不变运算外提 B.削弱运算强度 C.消除归纳变量?D.合并已知运算 答案:D 48.有限自动机有( )接受状态。 A.只能一个 B.只能两个 C.只能三个 D.0个、一个或多个 答案:D 49.编译过程中,语法分析的任务是( )。 分析单词是怎样构成的 分析单词是如何构成语句和说明的 分析语句和说明是如何构成程序的 分析程序的结构 A.和 B. C. D. 答案:C 50.在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是( )。 A.非终极符集 B.终极符集 C.字母表 D.状态集 答案:B 51.编译程序中语法分析器接收以( )为单位的输入。A.单词 B.表达式 C.产生式 D.句子 答案:A 52.文法EE+E|E*E|i的句子i*i+i*i有( )棵不同的语法树。 A.1 B.3 C.5 D.7 答案:C 53.给定文法如下:SAB AaA|a BbB|b句型aAB相对于A的短语是( )。 A.a B.A C.aA D.AB 答案:C 54.若文法G定义的语言是无限集,则文法必然是( )。 A.递归的 B.前后文无关的 C.二义性的 D.无二义性的 答案:A 55.某个语言,它能用正规表达式表示,但是它不能使用任何正规文法表示,这个语言必然是( )。 A.1型文法所对应的语言 B.含有二义的语言 C.既含有左递归又含有右递归 D.不存在的语言 答案:D 56.给定文法,A:=bA|cc,下面哪些符号串可由其推导出?( )ccb*ccb*cbccbccbccbbbcc A. B. C. D. 答案:D 57.与正规式r=(a|b)*等价的是( )。 A.a*b* B.(ab)* C.(a|b)(a|b)+ D.(a|b)*)* 答案:D 58.中间代码生成时所依据的是( )。 A.语法规则 B.词法规则 C.语义规则 D.等价变换规则 答案:C 59.下面( )不是自底向上的语法分析方法。 A.SLR(1) B.LR(1) C.LL(k)D.算符优先符 答案:C 60.采用自上而下分析,必须( )。 A.消除左递归 B.消除右递归 C.消除回溯 D.提取公共因子 答案:C 61.编写一个计算机高级语言的源程序后,到正式上机运行之前,一般要经过( )。 A.编辑 B.编译 C.连接 D.运行 E.调试 答案:A|B|C 62.编译程序工作时,通常包括( )阶段。 A.词法分析 B.语法分析 C.中间代码生成 D.语义检查 E.目标代码生成 答案:A|B|C|E 63.常用的参数传递方式有( )。 A.传地址 B.传值 C.传声明 D.传变量 E.传名 答案:A|B|E 64.程序一般分为哪两大类?( ) A.高级语言 B.专用程序语言 C.低级语言 D.通用程序语言 答案:A|C 65.编译程序的输出结果可以是( )。 A.目标代码 B.汇编语言代码C.中间代码 D.优化后的中间代码 E.可重定位代码 答案:A|B|C|D|E 66.一般程序设计语言的定义都涉及( )三个方面。 A.语法 B.语义 C.语用 D.程序基本符号的确定 答案:A|B|C 67.计算机执行用高级语言编写的程序有哪些途径?( ) A.链接 B.汇编 C.解释 D.编译 答案:C|D 68.编译过程中扫描器的任务包括( )。 A.组织原程序的输入 B.识别单词属性,并输出 C.删除注解 D.行计数、列计数 E.建立符号表 答案:A|B|C|D|E 69.下面哪些语言特征会影响存储分配策略?( ) A.过程能否递归 B.当控制从过程的活动返回时,局部变量的值是否要保留 C.过程能否访问非局部变量 D.过程调用的参数传递方式 答案:A|B|C|D 70.代码优化的主要目标是( )。 A.提高目标程序的运行速度 B.减少目标程序运行所需的空间 C.协调A和B D.使生成的目标代码尽可能简短 答案:A|B|C 71.编译方法中自顶向下的语法分析算法有( )。 A.递归下降法 B.SLR方法 C.LL(K)分析方法 D.LR(K)方法 答案:A|C 72.语法分析的常用方法是( )。 A.自顶向下 B.自底向上 C.自左向右 D.自右向左 答案:A|B 73.常用的两种动态存贮分配办法是( )。 A.栈式动态分配 B.顺序动态分配 C.随机动态分配 D.堆式动态分配 答案:A|D 74.关于堆式分配,下面说法正确地是( )。 A.属于动态分配 B.属于静态分配 C.适用于可递归调用、具有分程序结构的语言 D.适用于允许为变量动态申请内存空间的语言 答案:A|D 75.如果文法G存在一个句子,满足下列条件( )之一时,则称该文法是二义文法。 A.该句子的最左推导与最右推导相同 B.该句子有两个不同的最左推导 C.该句子有两棵不同的最右推导 D.该句子有两棵不同的语法树 E.该句子的语法树只有一个 答案:B|C|D 76.(a|b)a+(ba)*与下面的哪些串匹配?( ) A.ba B.bba C.ababa D.aa E.baa 答案:A|D|E 77.ab*c*(a|b)c与下面的那些串匹配?( ) A.acbbc B.abbcac C.abc D.acc 答案:B|C 78.编译过程中,比较常见的中间语言有( )。 A.波兰表示 B.逆波兰表示 C.三元式 D.四元式 答案:B|C|D 79.继承属性值的计算依赖于分析树中它的( )的属性值。 A.父结点 B.子结点 C.兄弟结点 D.父结点与子结点 答案:A|C 80.指出哪些串是自动机可接受的?( ) A.yyy B.xx C.yyyxy D.yxxy E.yx 答案:A|C|D|E 81.有一文法G:SAB,AaAb|,BcBd|,它不产生下面( )集合。 A.anbmcndm|n,m0 B.anbncmdm|n,m0 C.anbmcmdn|n,m0 D.anbncmdm|n,m0 E.anbncndn|n0 答案:A|C 82.根据优化所涉及的范围,可将优化分为( )。 A.局部优化 B.过程优化 C.全局优化 D.循环优化 E.四元式优化 答案:A|C|D 83.语法分析的方法大致可分为哪两类?( ) A.算符优先分析法 B.自上而下分析法 C.自下而上分析法 D.LL(1)分析法 答案:B|C 84.下面( )语法制导翻译中,采用拉链回填技术。 A.赋值语句 B.布尔表达式的计算 C.条件语句 D.循环语句 答案:B|C|D 85.栈式分配策略在下列哪些情况下行不通?( ) A.过程活动停止后,局部名字的值还必须维持 B.被调用者的活动比调用者的活动活得更长,此时活动树不能正确描绘程序的控制流 C.不遵守栈式规则的有Pascal语言和C语言的动态变量 D.Java禁止程序员自己释放空间答案:A|B|C|D 86.令=a,b,则上所有以b开头,后跟若干个ab的字的全体对应的正规式为( )。 A.b(ab)* B.b(ab)+ C.(ba)*b D.(ba)+b E.b(a|b) 答案:A|B|D 87.对正规文法描述的语言,以下( )有能力描述它。 A.0型文法 B.1型文法 C.上下文无关文法 D.右线性文法 E.左线性文法 答案:A|B|C|D|E 88.下面( )说法是错误的。 A.有向图是一个状态转换图 B.状态转换图是一个有向图 C.有向图是一个DFA D.DFA可以用状态转换图表示 E.文法中终结符和非终结符的交集是空集 答案:A|C 89.下列不属于banana的子串的是( )。 A.b B.baa C.babn D.baan E.nan 答案:B|C|D 90.程序语言的单词符号一般可以分为( )。 A.基本字 B.标识符 C.常量 D.算符 E.界符 答案:A|B|C|D|E 91.最小化的DFA,它的状态数最小。 答案:对 92.最小化的DFA所识别接受的正规集最小。 答案:错 93.若过程p第k次被调用,则p的DISPLAY表中就有k+1个元素。 答案:错 94.LL(1)分析法中,“1”的含义是向输入串中查看一个输入符号。 答案:对 95.LL(1)文法又称为预测分析方法。 答案:对 96.一个LL(1)文法一定是无二义和无回溯方法。 答案:对 97.一个LL(1)文法一定是无二义性的。 答案:对 98.LR(0)分析法是一种规范规约法。 答案:对 99.LR方法可以分析含有左递归的文法。 答案:对 100.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。 答案:对 101.构造LR分析器的任务就是产生LR分析表。 答案:对 102.LR分析方法是已知的最一般的无回溯的移进-归约方法。 答案:对 103.一个活前缀可能有多个有效项目。 答案:对 104.L属性定义不能采用自下而上的方法计算。 答案:错 105.S属性定义属于L属性定义。 答案:对 106.若M=(,Q,q0,F,)是一个带-转移的NFA,并且L(M),则一定有q0F。 答案:对 107.对于字母表上的任一NFA M,必存在上与NFA M等价的DFA M。 答案:对 108.在SLR(1)分析法的名称中,S的含义是简单的。 答案:对 109.编译程序是对高级程序的翻译。 答案:对 110.编译程序与具体的机器有关,与具体的语言无关。 答案:错 111.编译程序能改正源程序所有错误。 答案:错 112.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。 答案:错 113.在程序中标识符的出现仅为使用性的。 答案:错 114.产生式是用于定义词法成分的一种书写规则。 答案:错 115.从功能上说,程序语言的语句大体可分为执行性语句和说明性语句两大类。 答案:对 116.词法分析器的输出常用三元式表示。 答案:错 117.词法分析是编译的第一阶段。 答案:对 118.词法分析作为单独的一遍来处理较好。 答案:错 119.单词的种别提供给语法分析程序使用。 答案:对 120.执行词法分析的程序叫做扫描程序。 答案:对 121.设计词法分析程序可以借助于状态转换图。 答案:对 122.编译程序中错误处理的任务是对检查出的错误进行修改。 答案:错 123.进行代码优化时应着重考虑循环的代码优化,因为这将大大的提高目标代码的效率。 答案:对 124.源程序到目标程序的变换是等价变换,即两者结构不同,但语义是一致的。 答案:对 125.若文法G定义的语言是无限集,则文法必然是递归的。 答案:对 126.递归下降法不允许任一非终极符是直接左递归的。 答案:对 127.由于递归下降子程序方法较LL(1)方法简单,因此它要求文法不必是LL(1)文法。 答案:错 128.LL(1)文法可以有公共左因子。 答案:错 129.非终结符可以有综合属性,但不能有继承属性。 答案:对 130.在规范规约中用最左素短语来刻画可规约串。 答案:错 131.每个过程的活动记录的体积在编译时可静态确定。 答案:对 132.仅考虑一个基本块,不能确定一个赋值是否真是无用的。 答案:对 133.每个基本块可用一个DAG表示。 答案:对 134.简单优先文法允许任意两个产生式具有相同右部。 答案:错 135.使用解释程序时,在程序未执行完的情况下,不能重新执行已执行的部分。 答案:错 136.对于数据空间的存贮分配,FORTRAN采用动态贮存分配策略。 答案:错 137.静态数组的存储空间可以在编译时确定。 答案:错 138.任何文法的任何句子的句柄都是唯一的。 答案:错 139.在目标代码生成阶段,符号表用于目标代码的生成。 答案:错 140.文法G的一个句子对应于多个推导,则G是二义的。 答案:错 141.四元式之间的联系是通过符号表实现的。 答案:错 142.同心集的合并有可能产生新的“归约”/“归约”冲突。 答案:对 143.移进规约分析器的格局中栈的内容一般是文法符号与状态。 答案:对 144.文法的二义性和语言的二义性是两个不同的概念。 答案:对 145.已经证明文法的二义性是可判定的。 答案:错 146.在任何文法的产生式中,终结符都不能出现在产生式左部。 答案:错 147.左线性文法是无二义性文法。 答案:错 148.一个确定有穷自动机有且只有一个终态。 答案:错 149.使用有限自动机可以实现单词的识别。 答案:对 150.对任意一个右线性文法G,都存在一个DFA M,满足L(G)=L(M)。 答案:对 151.语法错误校正的目的是为了把错误改正过来。 答案:错 152.编译过程中,语法分析器的任务是分析单词是怎样构成的。 答案:错 153.语法分析器的输入是单词符号。 答案:对 154.语法分析时必须先消除文法中的左递归。 答案:错 155.语法分析之所以采用上下文无关文法是因为它的描述能力最强。 答案:错 156.在编译中进行语法检查的目的是为了发现程序中所有错误。 答案:错 157.语法树和推导树不一样。 答案:错 158.语法制导翻译只适用于自下而上的语法分析方法。 答案:错 159.一个BASIC解释程序和编译程序的不同在于,解释程序由语法制导翻译成目标代码并立即执行之,而编译程序需产生中间代码及优化。 答案:错 160.每个非终结符产生的终结符号串都是该语言的子集。 答案:错 161.一个语言的句子是有穷的。 答案:错 162.一个语言的文法是不唯一的。 答案:对 163.计算机高级语言翻译成低级语言只有解释一种方式。 答案:错 164.程序中的表达式语句在语义翻译时不需要回填技术。 答案:对 165.语义规则中的属性有两种:综合属性与继承属性。 答案:对 166.两个正规集相等的必要条件是他们对应的正规式等价。 答案:错 167.设r和s分别是正规式,则有L(r|s)=L(r)|L(s)。 答案:错 168.词法分析中单词符号是用上下文无关文法描述的,语法分析中语法类是用正规文法描述的。 答案:错 169.等价文法是指两个文法完全相同。 答案:错 170.一个正规式可能对应多个正规文法。 答案:对 171.正规文法不可转换成正规式。 答案:错 172.正则文法其产生式为A-a,A-Bb,A,BVN,a、bVT。 答案:错 173.正规文法、正规表达式、有限自动机这三者之间在某种意义下是互相等价的。 答案:对 174.目标代码生成时,不应考虑如何充分利用计算机的寄存器的问题。 答案:错 175.三地址语句类似于汇编语言代码,可以堪称中间代码的一种抽象形式。 答案:对 176.采用三元式实现三地址代码时,不利于对中间代码进行优化。 答案:对 177.确定的自动机以及不确定的自动机都能正确地识别正规集。 答案:对 178.自动机M和M的状态数不同,则二者必不等价。 答案:错 179.采用自上而下分析,必须消除左递归。 答案:对 180.综合属性是用于“自上而下”传递信息。 答案:错
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!