ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:34.14KB ,
资源ID:10440047      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10440047.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Zhujiao057《编译原理》习题答案.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Zhujiao057《编译原理》习题答案.docx

1、Zhujiao057编译原理习题答案编译原理习题答案一、单项选择题(本大题共164小题,每小题2分)1、如果一个编译程序能产生不同于其宿主机的机器代码,则称它为( C )。A、诊断编译程序 B、优化编译程序 C、交叉编译程序 D、可变目标编译程序2、( C )不是编译程序的组成部分。A、词法分析程序 B、代码生成程序 C、设备管理程序 D、语法分析程序3、现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个( C )把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序

2、。A、重定位程序 B、解释程序 C、连接装配程序 D、诊断程序;4、产生正则语言的文法为(D)。A、0型 B、1型 C、2型 D、3型5、(A)是一种典型的解释型语言。A、BASIC B、C C、FORTRAN D、PASCAL6、把汇编语言程序翻译成机器可执行的目标程序的工作是由(B)完成的。A、编译器 B、汇编器 C、解释器 D、预处理器7、用高级语言编写的程序经编译后产生的程序叫(B)A、源程序 B、目标程序 C、连接程序 D、解释程序8、文法G:Sb|(T)TT,S|S则FIRSTVT(T)(C)。 A、b,( B、b,) C、b,(,, D、b,),,9、通常一个编译程序中,不仅包含

3、词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括(C)。A、模拟执行器 B、解释器 C、表格处理和出错处理 D、符号执行器10、编译程序绝大多数时间花在(D)上。A、出错处理 B、词法分析 C、目标代码生成 D、表格管理11、设文法为:SSA|AAa|b则对句子aba,下面(D)是规范推导。 A、SSASAAAAAaAAabAabaB、SSASAAAAAAAaAbaabaC、SSASAASAaSbaAbaabaD、SSASaSAaSbaAbaaba12、Chomsky把文法分成四种类型,其中,( D )也称正规文法A、0型 B、1型 C、2型 D、3型13

4、、源程序是句子的集合,(B)可以较好地反映句子的结构。A.、线性表 B、树 C、完全图 D、堆栈14、词法分析器的输出结果是(D)。A、单词自身值 B、单词在符号表中的位置C、单词的种别编码 D、单词的种别编码和自身值15、词法分析器不能(D)A、识别出数值常量 B、过滤源程序中的注释C、扫描源程序并识别记号 D、发现括号不匹配16、文法:G:SxSx | y所识别的语言是(D)。A、xyx B、(xyx)* C、x*yx* D、xnyxn (n0)17、如果文法G是无二义的,则它的任何句子(A)A、最左推导和最右推导对应的语法树必定相同B、最左推导和最右推导对应的语法树可能不同C、最左推导和

5、最右推导必定相同D、可能存在两个不同的最左推导,但它们对应的语法树相同18、语言的词法规则一般用Chomsky的( D )型文法来描述:A、0 B、1 C、2 D、319、文法S(L)|aLL,S|S中的终结符号是( B )。A、S B、, C、L D、|20、文法G所描述的语言是( D )的集合。A、文法G的字母表 中的所有符号组成的符号串B、文法G的字母表 的闭包 *中的所有符号串C、文法G的识别符号推出的所有符号串D、文法G的识别符号推出的所有终结符号串21、语法分析器接收以( C )为单位的输入,并产生有关信息供以后各阶段使用。A、表达式 B、产生式 C、单词 D、语句;22、LR(k

6、)文法( A )。A、都是无二义性的 B、都是二义性的 C、一部分是二义性的 D、无法判定23、如果一个编译程序能产生不同于其宿主机的机器代码,则称它为:( C )。A、诊断编译程序 B、优化编译程序 C、交叉编译程序 D、可变目标编译程序24、许多广为使用的语言,如Fortran、C、Pascal等,属于( A )。A、强制式语言 B、应用式语言 C、基于规则的语言 D、面向对象的语言25、设G是一个文法,S是开始符号。若S * , (VT VN)*,则称 是一个( B )。A、句子 B、句型 C、推导 D、语言26、赋值语句x:=-(a+b)/(c-d)-(a+b*c)的逆波兰式表示是(

7、C )。A、xab+cd-/-bc*a+-:= C、xab+/cd-bc*a+-:=C、xab+-cd-/abc*+-:= D、xab+cd-/abc*+-:=27、在一棵语法树中的结点的继承属性和综合属性之间的相互依赖关系可以由( C )来描述。A、抽象语法树 B、语法规则 C、依赖图 D、三地址代码;28、( C )语言具有这样的特点:没有分程序结构;过程定义不允许嵌套;允许过程嵌套定义。A、Fortran B、Pascal C、C D、都不是29、Pascal中过程说明的局部变量地址分配在( B )。A、调用者的数据区中 B、被调用者的数据区中C、主程序的数据区中 D、公共数据区中30、

8、一个数据类型通常包括三种要素,下面( C )不是:A、用于区别这种类型的数据对象的属性 B、这种类型的数据对象可以具有的值C、对这种类型的数据对象的内存分配 D、可以作用于这种类型的数据对象的操作31、正则文法(A)二义性的。A、可以是 B、一定不是 C、一定是32、(B)这样一些语言,它们能被确定的有穷自动机识别,但不能用正则表达式表示。A、存在 B、不存在 C、无法判定是否存在33、给定文法AbA | ca,为该文法句子的是(C)A、bba B、cab C、bca D、cba34、设有文法GS:S S1|S0|Sa|Sc|a|b|c,下列符号串中是该文法的句子有(D)A、ab0 B、a0c

9、01 C、a0b0a D、bc1035、文法G产生的(D)的全体是该文法描述的语言。A、句型 B、终结符集 C、非终结符集 D、句子36、若文法G定义的语言是无限集,则文法必然是(A)递归的 B、上下文无关的 C、二义性的 D、无二义性的37、一个数据类型通常包括三种要素,下面( C )不是:A、用于区别这种类型的数据对象的属性 B、这种类型的数据对象可以具有的值C、对这种类型的数据对象的内存分配 D、可以作用于这种类型的数据对象的操作38、在编译方法中,动态存储分配的含义是( A )。A、在运行阶段对源程序中的量进行分配 B、在编译阶段对源程序中的量进行分配C、在编译阶段对源程序中的量进行分

10、配,在运行时这些量的地址可以根据需要修改D、以上都不是39、以绝对机器代码为输出,所有地址均已定位,这种代码的优点是( A )。A、可立即执行 B、可进一步优化 C、目标代码简短 D、目标代码执行效率高40、以( B )作为输出,允许自程序单独编译。A、绝对机器代码 B、可再定位机器语言 C、汇编语言程序 D、中间语言41、评价一个代码生成器最重要的指标是( A )。A、代码的正确性 B、代码的高效性 C、代码的简洁性 D、代码的维护性。42、文法G:EE+T|TTT*P|PP(E)|I则句型P+T+i的句柄和最左素短语为(B)。 A、P+T和i B、P和P+T C、i和P+T+I D、P和T

11、43、语言的词法规则一般用Chomsky的( D )型文法来描述:A、0 B、1 C、2 D、344、描述一个语言的文法是(B)A、唯一的 B、不唯一的 C、可能唯一45、一个文法所描述的语言是(A)A、唯一的 B、不唯一的 C、可能唯一46、采用自上而下分析,必须(A)。A、消除回溯 B、消除左递归C、消除右递归 D、提取公共左因子47、编译过程中,语法分析器的任务是(A)1分析单词的构成2分析单词串如何构成语句3分析语句是如何构成程序4分析程序的结构A、 B、 C、 D、48、程序语言的单词符号一般可以分为5种,下面( B )不需要超前搜索。A、关键字 B、标识符 C、常数 D、算符和界符

12、49、由文法的开始符经0步或多步推导产生的文法符号序列是(C)。 A、短语 B、句柄 C、句型 D、句子50、从左线性文法构造有限自动机时,通常自动机状态个数比文法非终结符号数多( D )。A、4 B、2 C、0 D、151、正规表达式(|a|b)2表示的集合是( D )。A、,ab,ba,aa,bb B、ab,ba,aa,bbC、a,b,ab,aa,ba,bb D、,a,b,aa,bb,ab,ba52、高级语言编译程序常用的语法分析方法中,递归下降分析法属于( B )分析法。A、自左至右 B、自顶向下 C、自底向上 D、自右向左53、上下文无关文法可以用( C )来描述。A、正则表达式 B、

13、正规文法 C、扩展的BNF D、翻译模式54、自上而下分析面临的四个问题中,不包括( D )。A、需消除左递归 B、存在回朔 C、虚假匹配 D、寻找可归约串55、从左线性文法构造有限自动机时,通常自动机状态个数比文法非终结符号数多( D ) A、4 B、2 C、0 D、156、正规表达式(|a|b)2表示的集合是( D )A、,ab,ba,aa,bb B、ab,ba,aa,bbC、a,b,ab,aa,ba,bb D、,a,b,aa,bb,ab,ba57、词法分析器的输入是( A)。A、符号串 B、源程序 C、语法单位 D、目标程序58、两个有穷自动机等价是指它们的(C)。A、状态数相等 B、有

14、向弧数相等C、所识别的语言相等 D、状态数和有向弧数相等59、若状态k含有项目“A ”,且仅当输入符号aFOLLOW(A)时,才用规则“A ”归约的语法分析方法是(D)。A、LALR分析法 B、LR(0)分析法 C、LR(1)分析法 D、SLR(1)分析法60、若a为终结符,则A a为(B)项目。A、归约 B、移进 C、接受 D、待约61、在使用高级语言编程时,首先可通过编译程序发现源程序的全部和部分(A)错误。A、语法 B、语义 C、语用 D、运行62、所谓在程序中某个给定点是活跃的,是指如果在程序中,( A )。A、该点以后被引用 B、该点以后被计算 C、该点正在被计算 D、该点一直被计算

15、63、LR语法分析栈中存放的状态是识别( B )的DFA状态。A、前缀 B、可归前缀 C、项目 D、句柄64、算符优先分析法每次都是对( B )进行归约:A、句柄 B、最左素短语 C、素短语 D、简单短语65、有文法G(S,a,SSaS,S,S),该文法是( B )。A、LL(1)文法 B、二义性文法 C、算符优先文法 D、SLR(1)文法66、文法开始符号的所有( B )作为属性计算前的初始值。A、综合属性 B、继承属性 C、继承属性和综合属性 D、都不是67、对应于产生式AXY继承属性Y.y的属性计算,可能正确的语义规则是( C )。A、A.a:=f(X.x,Y.y) B、Y.y:=f(A

16、.a,Y.y) C、Y.y:=f(X.x) D、A.a:=f(Y.y)68、布尔表达式计算时可以采用某种优化措施,比如A and B用if-then-else可解释为( B )。A、if A then true else B; B、if A then B else false;C、if A then false else true; D、if A then true else false;69、合并表达式中常量运算的目的是( D )。A、使表达式中的常量尽可能少B、是表达式尽可能简短C、将可在编译时刻计算的常量运算在编译时刻计算出来,然后用所计算出来的值替换表达式中出现的所有这种常量运算,使得

17、生成的代码指令尽可能少D、以上都是70、语法分析器接收以( C )为单位的输入,并产生有关信息供以后各阶段使用。A、表达式 B、产生式 C、单词 D、语句;71、LR语法分析栈中存放的状态是识别( B )的DFA状态。A、前缀 B、可归前缀 C、项目 D、句柄;72、中间代码生成所依据的是(C)。A、语法规则 B、词法规则 C、语义规则 D、等价变换规则73、一个(C)指明了在分析过程中的某时刻所能看到产生式多大一部分。 A、活前缀 B、前缀 C、项目 D、项目集74、在LR(0)的ACTION子表中,如果某一行中存在标记“rj”的栏,则(A)。A、该行必定填满rj B、该行未填满rjC、其他

18、行也有rj D、goto子表中也有rj75、对应于产生式AXY继承属性Y.y的属性计算,可能正确的语义规则是( C )。A、A.a:=f(X.x,Y.y) B、Y.y:=f(A.a,Y.y) C、Y.y:=f(X.x) D、A.a:=f(Y.y);76、就文法的描述能力来说,有(C)。 A、SLR(1)LR(0) B、LR(1)LR(0)C、SLR(1)LR(1) D、无二义文法LR(1)77、乔姆斯基(Chomsky)把文法分为四种类型,即0型、1型、2型、3型。其中3型文法是(B)A、非限制文法 B、正则文法 C、上下文有关文法 D、上下文无关文法78、一个句型中的(A)称为该句型的句柄。

19、A、最左直接短语 B、最右直接短语 C、终结符 D、非终结符79、在自底向上的语法分析方法中,分析的关键是(D)A、寻找句柄 B、寻找句型 C、消除递归 D、选择候选式80、若项目集Ik含有A,则在状态k时,仅当面临的输入符号aFOLLOW(A)时,才采取“A”动作的一定是(D)。 A、LALR文法 B、LR(0)文法 C、LR(1)文法 D、SLR(1)文法81、在LR分析法中,分析栈中存放的状态是识别规范句型(C)的DFA状态。A、句柄 B、前缀 C、活前缀 D、LR(0)项目82、为了便于优化处理,三地址代码可以表示成( D )。A、三元式 B、四元式 C、后缀式 D、间接三元式83、使

20、用三元式是为了( B )。A、便于代码优化处理 B、避免把临时变量填入符号表C、节省存储代码的空间 D、提高访问代码的速度84、表达式-a+b*(-c+d)的逆波兰式是( D )。A、ab+-cd+-* B、a-b+c-d+* C、a-b+c-d+* D、a-bc-d+*+85、若a为终结符,则Aa为(B)项目 A、归约 B、移进 C、接受 D、待约86、评价一个代码生成器最重要的指标是( A )。A、代码的正确性 B、代码的高效性 C、代码的简洁性 D、代码的维护性87、以绝对机器代码为输出,所有地址均已定位,这种代码的优点是( A )。A、可立即执行 B、可进一步优化 C、目标代码简短 D

21、、目标代码执行效率高88、一个上下文无关文法G包括四个组成部分,它们是一组非终结符号,一组终结符号,一个开始符号,以及一组(B)A、句子 B、产生式 C、单词 D、句型89、词法分析器用于识别(C)A、句子 B、产生式 C、单词 D、句型90、编译程序是一种(B)A、汇编程序 B、翻译程序 C、解释程序 D、目标程序91、按逻辑上划分,编译程序第三步工作是(A)A、语义分析 B、词法分析 C、语法分析 D、代码生成92、在语法分析处理中,FIRST集合、FOLLOW集合均是(B)A、非终结符集 B、终结符集 C、字母表 D、状态集93、如果文法G是无二义的,则它的任何句子(A)。 A、最左推导

22、和最右推导对应的语法树必定相同B、最左推导和最右推导对应的语法树可能不同C、最左推导和最右推导必定相同D、可能存在两个不同的最左推导,但它们对应的语法树相同94、表达式-a+b*(-c+d)的逆波兰式是( D )。A、ab+-cd+-* B、a-b+c-d+* C、a-b+c-d+* D、a-bc-d+*+95、在整个编译期间,对符号表的操作大致都有( B )。A、查询给定名字 B、填入新名字 C、访问给定名字的信息D、更新给定名字的信息 E、删除无用项96、在编译过程中,符号表的主要作用是( B )。A、帮助错误处理 B、辅助语法错误的检查 C、辅助语义的正确性检查D、辅助代码生成 E、辅助

23、对目标程序的优化97、教材介绍了三种符号表的构造和处理方法,其中( B )中常把符号表组织成二叉树形式。A、线性组织 B、排序组织和二分法 C、杂凑(散列)组织 D、非线性组织98、编译过程中,语法分析器的任务就是(B)A、分析单词是怎样构成的 B、分析单词串是如何构成语句和说明的C、分析语句和说明是如何构成程序的 D、分析程序的结构99、若一个文法是递归的,则它所产生的语言的句子(A)。A、是无穷多个 B、是有穷多个 C、是可枚举的 D、个数是常量100、识别上下文无关语言的自动机是(C)A、下推自动机 B、NFA C、DFA D、图灵机101、编译原理各阶段工作都涉及(B)A、词法分析 B

24、、表格管理 C、语法分析 D、语义分析102、正则表达式R1和R2等价是指(C)A、R1和R2都是定义在一个字母表上的正则表达式B、R1和R2中使用的运算符相同C、R1和R2代表同一正则集D、R1和R2代表不同正则集103、编译程序使用( B )区别标识符的作用域。A、说明标识符的过程或函数名 B、说明标识符的过程或函数的静态层次C、说明标识符的过程或函数的动态层次 D、标识符的行号104、表达式作为实在参数可以传递给被调用的过程,替换过程体中的( B )。A、局部变量 B、形式参数 C、全局变量 D、实在参数105、两个不同过程的活动,其生存期是( B )。A、重叠的,不嵌套的 B、不重叠的

25、,嵌套的C、重叠的,嵌套的 D、不重叠的,不嵌套的106、设G为算符优先文法,G的任意终结符对a、b有以下关系成立(C)。 A、若f(a)g(b),则ab B、若f(a)g(b),则a0 B、akbc|k0 C、a2k-1bc|k0 D、akakbc|k0115、将编译程序分成若干个“遍”是为了(B)。A、提高程序的执行效率B、使程序的结构更加清晰C、利用有限的机器内存并提高机器的执行效率D、利用有限的机器内存但降低了机器的执行效率116、构造编译程序应掌握(D)。 A、源程序 B、目标语言 C、编译方法 D、以上三项都是117、变量应当(C)。A、持有左值 B、持有右值C、既持有左值又持有右

26、值 D、既不持有左值也不持有右值 118、下列关于标识符和名字叙述中,正确的是(C)。A、标识符有一定的含义 B、名字是一个没有意义的字符序列C、名字有确切的属性 D、AC都不正确119、(D)不可能是目标代码。 A、汇编指令代码 B、可重定位指令代码 C、绝对指令代码 D、中间代码120、若B为非终结符,则 A .B 为(D)。A、移进项目 B、归约项目 C、接受项目 D、待约项目121、在运行空间的划分中有一个单独的区域叫堆,用来存放( C )。A、目标代码 B、静态数据 C、动态数据 D、过程参数122、Fortran语言的编译程序采用( A )分配策略。A、静态 B、最佳 C、堆式动态

27、 D、栈式动态123、使用(A)可以定义一个程序的意义。 A、语义规则 B、词法规则 C、产生规则 D、词法规则124、词法分析器的输入是(B)。 A、单词符号串 B、源程序 C、语法单位 D、目标程序125、程序所需的数据空间在程序运行前可确定,称为(C)管理技术。 A、动态存储 B、栈式存储 C、静态存储 D、堆式存储126、堆式动态分配申请和释放存储空间遵守(D)原则。 A、先请先放 B、先请后放 C、后请先放 D、任意127、静态分配允许程序出现(C)。 A、递归过程 B、可变体积的数据项目 C、静态变量 D、待定性质的名字128、在编译方法中,动态存储分配的含义是(A)。 A、在运行阶段对源程序中的数组、变量、参数等进行分配B、在编译阶段对源程序中的数组、变量、参数进行分配C、在编译阶段对源程序中的数组、变量、参数等进行分配,在运行时这些数组、变量、参数的地址可根据需要改变D、以上都不正确129、中间代码生成时所遵循的是(C)。 A、语法规则 B、词法规则 C、语义规则 D、等价变换规则130、编译程序是对(D)。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1