编译原理选择题

合集下载

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案一、选择题1. 编译器的主要功能是什么?A. 程序设计B. 程序翻译C. 程序调试D. 数据处理答案:B2. 下列哪一项不是编译器的前端处理过程?A. 词法分析B. 语法分析C. 语义分析D. 代码生成答案:D3. 在编译原理中,词法分析器的主要作用是什么?A. 识别程序中的关键字和标识符B. 将源代码转换为中间代码C. 检查程序的语法结构D. 确定程序的运行环境答案:A4. 语法分析通常采用哪种方法?A. 自顶向下分析B. 自底向上分析C. 正则表达式匹配D. 直接解释执行答案:B5. 语义分析的主要任务是什么?A. 检查程序的语法结构B. 检查程序的类型安全C. 识别程序中的变量和常量D. 将源代码转换为机器代码答案:B二、简答题1. 简述编译器的工作原理。

答案:编译器的工作原理主要包括以下几个步骤:词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。

词法分析器将源代码分解成一系列的词素;语法分析器根据语法规则检查词素序列是否合法;语义分析器检查程序的语义正确性;中间代码生成器将源代码转换为中间代码;代码优化器对中间代码进行优化;最后,目标代码生成器将优化后的中间代码转换为目标机器代码。

2. 什么是词法分析器,它在编译过程中的作用是什么?答案:词法分析器是编译器前端的一个组成部分,负责将源代码分解成一个个的词素(tokens),如关键字、标识符、常量、运算符等。

它在编译过程中的作用是为语法分析器提供输入,是编译过程的基础。

三、论述题1. 论述编译器中的代码优化技术及其重要性。

答案:代码优化是编译过程中的一个重要环节,它旨在提高程序的执行效率,减少资源消耗。

常见的代码优化技术包括:常量折叠、死代码消除、公共子表达式消除、循环不变代码外提、数组边界检查消除等。

代码优化的重要性在于,它可以显著提高程序的运行速度和性能,同时降低程序对内存和处理器资源的需求。

四、计算题1. 给定一个简单的四则运算表达式,请写出其对应的逆波兰表达式。

编译原理考试试卷

编译原理考试试卷

编译原理考试试卷一、选择题(每题2分,共20分)1. 编译器的主要功能是将源代码转换成目标代码,以下哪个不是编译器的基本组成部分?A. 词法分析器B. 语法分析器C. 代码优化器D. 运行时环境2. 词法分析器通常不负责以下哪项任务?A. 识别关键字B. 识别标识符C. 进行语义分析D. 去除空白字符3. 语法分析中,递归下降分析是一种:A. 确定性分析方法B. 非确定性分析方法C. 基于语法制导的分析方法D. 基于语法树的分析方法4. LR分析器是用于处理:A. 上下文无关文法B. 上下文有关文法C. 正则文法D. 链式文法5. 语义分析的目的是:A. 检查源代码的语法是否正确B. 检查源代码的语义是否正确C. 将源代码转换为目标代码D. 优化源代码6. 代码生成阶段,编译器将抽象语法树转换成:A. 目标代码B. 源代码C. 汇编代码D. 机器代码7. 编译优化中,常量折叠是一种:A. 局部优化B. 全局优化C. 过程间优化D. 模块内优化8. 编译器的前端主要负责:A. 源代码的输入B. 目标代码的生成C. 源代码的解析和翻译D. 运行时错误检测9. 编译器的后端主要负责:A. 词法分析B. 语法分析C. 代码优化D. 目标代码的生成和链接10. 以下哪个是编译原理中常用的数据结构?A. 栈B. 队列C. 链表D. 所有选项都是二、简答题(每题10分,共30分)1. 简述编译原理中词法分析器的作用及其实现方式。

2. 描述语法分析中自顶向下分析和自底向上分析的区别。

3. 解释编译优化的重要性,并给出一个优化的例子。

三、计算题(每题25分,共50分)1. 给定一个简单的算术表达式 "3 + 4 * 2 - 1",请说明如何使用递归下降分析器来解析这个表达式,并给出相应的语法树。

2. 假设你有一个简单的编译器后端,需要将四元式 "(a, b, +, c)" 转换成目标代码。

编译原理练习题及答案

编译原理练习题及答案

第一章练习题(绪论)一、选择题1.编译程序是一种常用的软件。

A) 应用B) 系统C) 实时系统D) 分布式系统2.编译程序生成的目标代码程序是可执行程序。

A) 一定B) 不一定3.编译程序的大多数时间是花在上。

A) 词法分析B) 语法分析C) 出错处理D) 表格管理4.将编译程序分成若干“遍”将。

A)提高编译程序的执行效率;B)使编译程序的结构更加清晰,提高目标程序质量;C)充分利用内存空间,提高机器的执行效率。

5.编译程序各个阶段都涉及到的工作有。

A) 词法分析B) 语法分析C) 语义分析D) 表格管理6.词法分析的主要功能是。

A) 识别字符串B) 识别语句C) 识别单词D) 识别标识符7.若某程序设计语言允许标识符先使用后说明,则其编译程序就必须。

A) 多遍扫描B) 一遍扫描8.编译方式与解释方式的根本区别在于。

A) 执行速度的快慢B) 是否生成目标代码C) 是否语义分析9.多遍编译与一遍编译的主要区别在于。

A)多遍编译是编译的五大部分重复多遍执行,而一遍编译是五大部分只执行一遍;B)一遍编译是对源程序分析一遍就立即执行,而多遍编译是对源程序重复多遍分析再执行;C)多遍编译要生成目标代码才执行,而一遍编译不生成目标代码直接分析执行;D)多遍编译是五大部分依次独立完成,一遍编译是五大部分交叉调用执行完成。

10.编译程序分成“前端”和“后端”的好处是A)便于移植B)便于功能的扩充C)便于减少工作量D)以上均正确第二章练习题(文法与语言)一、选择题1.文法 G 产生的 (1) 的全体是该文法描述的语言。

A.句型B. 终结符集C. 非终结符集D. 句子2.若文法 G 定义的语言是无限集,则文法必然是 (2) A递归的 B 上下文无关的 C 二义性的 D 无二义性的3. Chomsky 定义的四种形式语言文法中, 0 型文法又称为(A)文法;1 型文法又称为(C)文法;2 型语言可由(G) 识别。

A 短语结构文法B 上下文无关文法C 上下文有关文法D 正规文法E 图灵机F 有限自动机G 下推自动机4.一个文法所描述的语言是(A);描述一个语言的文法是(B)。

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案一、选择题1. 下列哪个不是编译器所需的基本处理步骤?A. 词法分析B. 语法分析C. 语义分析D. 目标代码优化答案:D2. 编译器的主要功能是将高级语言程序翻译成什么形式?A. 汇编语言B. 机器语言C. 中间代码D. 高级语言答案:B3. 下列哪个不属于编译器的后端阶段?A. 代码优化B. 目标代码生成C. 词法分析D. 目标程序优化答案:C二、填空题1. 编译器的输入是源程序,输出是目标程序。

2. 目标代码生成阶段的任务是将中间代码翻译成汇编语言或机器语言。

3. 语法分析阶段的输出是抽象语法树。

三、简答题1. 请简述编译器的工作原理。

编译器的工作原理主要包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等阶段。

词法分析阶段将源程序分解成单词(也称为词法单元),语法分析阶段根据语法规则将词法单元组织成一个语法树,语义分析阶段对语法树进行语义检查,中间代码生成阶段将语法树转化为中间代码,代码优化阶段对中间代码进行优化,最后目标代码生成阶段将中间代码转化为机器语言或汇编语言。

2. 请说明词法分析的作用是什么,如何实现?词法分析的作用是将源程序中的字符序列转化为单词序列,也就是将一段代码切分成不同的词法单元。

实现词法分析可以通过有限状态自动机来处理输入字符序列,并根据一系列规则将字符序列划分为词法单元。

常用的方法有手写分析器和使用词法分析生成器等。

3. 简要介绍一下代码优化的目的和方法。

代码优化的目的是通过对程序的中间代码或目标代码进行调整,以达到提高程序性能、减小程序的空间占用或减小程序的执行时间等目的。

代码优化的方法主要包括局部优化和全局优化两种。

局部优化主要针对某个代码块进行优化,如常量折叠、公共子表达式消除等。

全局优化则考虑整个程序,对程序的整体结构进行优化,如循环优化、函数内联等。

总结:编译原理试题及答案主要涵盖了选择题、填空题和简答题三个部分。

其中选择题主要考察对编译器基本处理步骤和功能的理解。

编译原理考试题及答案

编译原理考试题及答案

编译原理考试题及答案一、选择题(每题5分,共20分)1. 编译器的主要功能是什么?A. 代码优化B. 代码翻译C. 代码调试D. 代码运行答案:B2. 下列哪个选项不属于编译器的前端部分?A. 词法分析B. 语法分析C. 语义分析D. 代码生成答案:D3. 在编译原理中,文法的产生式通常表示为:A. A -> αB. A -> βC. A -> γD. A -> δ答案:A4. 下列哪个算法用于构建语法分析树?A. LL(1)分析B. LR(1)分析C. SLR(1)分析D. LALR(1)分析答案:A二、填空题(每空5分,共20分)1. 编译器的前端通常包括词法分析、语法分析和________。

答案:语义分析2. 编译器的后端主要负责________和目标代码生成。

答案:代码优化3. 编译器中的词法分析器通常使用________算法来识别单词。

答案:有限自动机4. 语法分析中,________分析是一种自顶向下的分析方法。

答案:递归下降三、简答题(每题10分,共30分)1. 简述编译器的作用。

答案:编译器的主要作用是将高级语言编写的源代码转换成计算机能够理解的低级语言或机器代码,以便执行。

2. 解释一下什么是语法制导翻译。

答案:语法制导翻译是一种翻译技术,它利用源语言的语法信息来指导翻译过程,使得翻译过程能够更好地理解源代码的语义。

3. 什么是词法分析器?答案:词法分析器是编译器前端的一部分,它的任务是将源代码文本分解成一系列的标记(tokens),这些标记是源代码的最小有意义的单位。

四、计算题(每题10分,共30分)1. 给定一个简单的文法G(E):E → E + T | TT → T * F | FF → (E) | id请计算文法的非终结符号E的FIRST集和FOLLOW集。

答案:E的FIRST集为{(, id},FOLLOW集为{), +, $}。

2. 假设编译器在进行语法分析时,遇到一个语法错误的代码片段,请简述编译器如何处理这种情况。

编译原理试题及答案

编译原理试题及答案

参考答案一、单项选择题(共10小题,每小题2分,共20分)1.语言是A .句子的集合B .产生式的集合C .符号串的集合D .句型的集合 2.编译程序前三个阶段完成的工作是 A .词法分析、语法分析和代码优化 B .代码生成、代码优化和词法分析C .词法分析、语法分析、语义分析和中间代码生成D .词法分析、语法分析和代码优化3.一个句型中称为句柄的是该句型的最左 A .非终结符号 B .短语 C .句子 D .直接短语4.下推自动机识别的语言是A .0型语言B .1型语言C .2型语言D .3型语言5.扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即 A . 字符B .单词C .句子D .句型6.对应Chomsky 四种文法的四种语言之间的关系是 A .L 0⊂L 1⊂L 2⊂L 3B .L 3⊂L 2⊂L 1⊂L 0C .L 3=L 2⊂L 1⊂L 0D .L 0⊂L 1⊂L 2=L 3 7.词法分析的任务是 A .识别单词B .分析句子的含义C .识别句子D .生成目标代码 8.常用的中间代码形式不含A .三元式B .四元式C .逆波兰式D .语法树 9. 代码优化的目的是A .节省时间B .节省空间C .节省时间和空间D .把编译程序进行等价交换10.代码生成阶段的主要任务是 A .把高级语言翻译成汇编语言 B .把高级语言翻译成机器语言C .把中间代码变换成依赖具体机器的目标代码装 订 线D.把汇编语言翻译成机器语言二、填空题(本大题共5小题,每小题2分,共10分)1.编译程序首先要识别出源程序中每个(单词),然后再分析每个(句子)并翻译其意义。

2.编译器常用的语法分析方法有(自底向上)和(自顶向下)两种。

3.通常把编译过程分为分析前端与综合后端两大阶段。

词法、语法和语义分析是对源程序的(分析),中间代码生成、代码优化与目标代码的生成则是对源程序的(综合)。

编译原理题库

编译原理题库

1.【单选题】文法:G:S→xSx | y所识别的语言是()A.B.C.D.答案:D难易程度:中2.【单选题】给定文法A→bA|ca,为该文法句子的是()A.bbaB.cabC.bcaD.cba答案:C难易程度:中3.【单选题】设有文法G[S]:S→S1|S0|Sa|Sc|a|b|c,下列符号串中是该文法的句子有()A.ab0B.a0b01C.a0b0aD.bc10答案:D难易程度:中4.【单选题】文法G产生的()的全体是该文法描述的语言。

A.句型B.终结符集C.非终结符集D.句子答案:D难易程度:中5.【单选题】若文法G定义的语言是无限集,则文法必然是()A.递归的B.上下文无关的C.二义性的D.无二义性的答案:A难易程度:中6.【单选题】乔姆斯基(Chomsky)把文法分为四种类型,即0型、1型、2型、3型。

其中3型文法是()A.非限制文法B.正规文法C.上下文有关文法D.上下文无关文法答案:B难易程度:中7.【单选题】一个上下文无关文法G包括四个组成部分,它们是一组非终结符号,一组终结符号,一个开始符号,以及一组()A.句子B.产生式C.单词D.句型答案:B难易程度:中8.【单选题】若一个文法是递归的,则它所产生的语言的句子()A.是无穷多个B.是有穷多个C.是可枚举的D.个数是常量答案:A难易程度:中9.【单选题】给定文法A→bA|cc,则符号串①cc ②bcbc ③bcbcc ④bccbcc ⑤bbbcc中,是该文法句子的是()A.①B.③④⑤C.②④D.①⑤答案:D难易程度:中10.【单选题】文法E→E+E|E*E|i的句子i*i+i*i有( )棵不同的语法树。

()A. 1B. 3C. 5D. 7答案:C难易程度:中11.【单选题】文法S→aaS|abc 定义的语言是()A.B.C.D.答案:C难易程度:中12.【单选题】文法G:S→xSx| xS|y所识别的语言是()A.B.C.D.答案:A难易程度:中13.【单选题】由文法的开始符号出发经过若干步(包括0步)推导产生的文法符号序列称为()A.语言B.句型C.句子D.句柄答案:B难易程度:中14.【单选题】下列符号串不可以由符号集S={a,b}上的正闭包运算产生的是()A.εB. aC. aaD. ab答案:A难易程度:中15.【单选题】文法G:S →xxS | y 所识别的语言是()A.B.C.D.答案:D难易程度:中16.【单选题】文法G:S →xS | y 所识别的语言是()A.B.C.D.答案:D难易程度:中17、下面哪些选项不是编译程序的组成部分。

编译原理题库——选择题

编译原理题库——选择题

编译原理a二、选择题(请在前括号选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分)1.词法分析器的输出结果是_____。

A.( ) 单词的种别编码 B.( ) 单词在符号表中的位置C.( ) 单词的种别编码和自身值D.( ) 单词自身值2.正规式 M 1 和 M 2 等价是指_____。

A.( ) M1和M2的状态数相等 B.( ) M1和M2的有向边条数相等C.( ) M1和M2所识别的语言集相等D.( ) M1和M2状态数和有向边条数相等3.文法G:S→xSx|y所识别的语言是_____。

A.( ) xyx B.( ) (xyx)* C.( ) xnyxn(n≥0) D.( ) x*yx*4.如果文法G是无二义的,则它的任何句子α_____。

A.( )最左推导和最右推导对应的语法树必定相同B.( ) 最左推导和最右推导对应的语法树可能不同C.( ) 最左推导和最右推导必定相同D.( )可能存在两个不同的最左推导,但它们对应的语法树相同5.构造编译程序应掌握______。

A.( )源程序B.( ) 目标语言C.( ) 编译方法 D.( ) 以上三项都是6.四元式之间的联系是通过_____实现的。

A.( ) 指示器B.( ) 临时变量C.( ) 符号表 D.( ) 程序变量7.表达式(┐A∨B)∧(C∨D)的逆波兰表示为_____。

A. ( ) ┐AB∨∧CD∨B.( ) A┐B ∨CD∨∧C.( ) AB∨┐CD∨∧ D.( ) A┐B ∨∧CD∨8. 优化可生成_____的目标代码。

A.( ) 运行时间较短 B.( ) 占用存储空间较小C.( ) 运行时间短但占用存空间大D.( ) 运行时间短且占用存储空间小9.下列______优化方法不是针对循环优化进行的。

A. ( ) 强度削弱B. ( ) 删除归纳变量C. ( ) 删除多余运算D. ( ) 代码外提10.编译程序使用_____区别标识符的作用域。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.一个句型中最左的(D)称为该句型的句柄。

A、短语B、非终结符号C、终结符号D、直接短语2.设文法为:S→SA|A,A→a|b,则对句子aba,下面(D)是规范推导。

A、S⇒SA⇒SAA⇒SAa⇒Sba⇒Aba⇒abaB、S⇒SA⇒SAA⇒AAA⇒aAA⇒abA⇒abaC、S⇒SA⇒SAA⇒AAA⇒AAa⇒Aba⇒abaD、S⇒SA⇒Sa⇒SAa⇒Sba⇒Aba⇒aba3.最左简单子树的末端结点构成的符号串称为(B)A、简单短语B、句柄C、最左素短语D、素短语* ⇒4.设G是一个给定的文法,S是文法的开始符号,如果S x(其中x∈V*),则称x是文法G的一个(D)。

A、产生式B、单词C、候选式D、句型5.若一个文法是递归的,则它产生的句子个数是(B)A、有限个B、无穷个C、可能有限个D、以上均不对6.乔姆斯基(Chomsky)把文法分为四种类型,即0型、1型、2型、3型。

其中2型文法是(B)。

A、正则文法B、上下文无关文法C、上下文有关文法D、短语文法7.文法G[E]:E→T∣E+T ,T→F∣T﹡F,F→a∣(E)该文法句型E+F﹡(E+T)的简单短语是下列符号串中的。

①(E+T)②E+T ③F ④F﹡(E+T)可选项有(C)A、②和③B、③C、③和④D、①和③8.若a为终结符,则A→α·aβ为(C)项目。

A、待约B、接受C、移进D、归约9.下面哪种不是自底向上的语法分析文法?(C)A、LR(1)B、SLR(1)C、LL(K)D、算符优先法10.一个上下文无关文法消除了左递归,提取了左公共因子后是满足LL(1)文法的(C)。

A、无关系B、充分必要条件C、必要条件D、充分条件11、一个上下文无关文法G包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组(B)。

A、单词B、产生式C、句型D、句子12.下面哪个不是单词的描述工具?(D)A、正规式B、正规文法C、有穷自动机D、下推自动机13.正规式M1和M2等价是指(D)。

A、M1和M2的有向弧条数相等B、M1和M2的状态数相等C、M1和M2状态数和有向弧条数相等D、M1和M2所识别的语言集相等14.编译程序中语法分析器接收以(C)为单位的输入。

A、句子B、表达式C、单词D、产生式15.表达式A*(B-C*(C/D))的逆波兰式是(C)A、ABC-*CD/*B、ABC-CD/*C、ABCCD/*-*D、a,b,c均不正确16.后缀式ab+cd+/可用表达式来表示。

A、a+b/c+dB、(a+b)/(c+d)C、a+b/(c+d)D、a+b+c/d17.一个句型中的可归前缀为(C)A、短语B、句柄C、规范前缀,且句柄位于该规范前缀的后端D、简单短语18.字母表{a,b}上以aa打头任何符号串的集合,可用正规式表示为(C)A、aa(a*|b*)B、(a|b)*aaC、aa(a|b)*D、以上都不对19.下面不是翻译程序的是(B)A、汇编程序B、源程序C、编译程序D、解释程序20.LR(k)方法是(B)A、从左到右分析,每次向前预测k步的一种编译方法。

B、从左到右分析,是否归约句柄要向后看k个输入符号的一种编译方法。

C、从左到右分析,共经过k步的一种编译方法。

D、从左到右分析,每次走k步的一种编译方法。

21.算符优先分析是一种自底向上的分析方法,它是以什么作为每一步归约的对象?(C)A、句柄B、最右直接短语C、最左素短语D、最右素短语22.下面不是常见的中间语言表示形式是(C)A、三元式B、四元式C波兰式D、树型表示23.语法分析器则可以发现源程序中(D)。

A、语法和语义错误B、错误并校正C、语义错误D、语法错误24.文法G所描述的语言是(B)的集合。

A、文法G的字母表V的闭包V*中的所有符号串B、由文法的开始符号推出的所有终结符串C、由文法的开始符号推出的所有符号串D、文法G的字母表V中所有符号组成的符号串25.在通常的语法分析方法中,(C)特别适用于表达式的分析.A、简单优先法B、LR分析法C、算符优先法D、LL(1)分析法26.高级语言编译程序常用的语法分析方法中,递归分析法属于哪种分析方法?(D)A、自右至左B、自左至右C、自底向上D、自顶向下27.文法G产生的(D)的全体叫语言。

A、句型B、终结符集C、非终结符集D、句子28.若文法G定义的语言是无限的,则文法必然是(A)A、递归的B、上下文有关的C、二义的D、无二义的29.乔姆斯基把文法分为4种类型,即0型、1型、2型、3型,其中3型文法也叫(D)A、上下文有关文法B、上下文无关文法C、正规文法D、短语文法30.编译程序中词法分析器所完成的任务是从源程序识别出一个一个具有独立意义的(D)A、表达式B、语句C、过程D、单词符号31.一个确定有穷自动机是一个(A)A、五元组(K,∑,f,S,Z)B、四元组(V N,V T,P,S)C、四元组(K,∑,f,S)D、三元组(V N,V T,P)32.文法G[N]=({b},{N,B},N,{N→b│bB,B→bN}),该文法所描述的语言是(C)A、L(G[N])={b i│i≥0}B、L(G[N])={b2i│i≥0}C、L(G[N])={b2i+1│i≥0}D、L(G[N])={b2i+1│i≥1}33.若项目集I k含有A->α · ,则在状态k时,仅当面临的输入符号a∈FOLLOW(A)时,才采取“A->α · ”动作的一定是(D)。

A、LALR文法B、LR(0)文法C、LR(1)文法D、SLR(1)文法34.在语法分析处理中,FIRST 集合、FOLLOW 集合、SELECT 集合均是(B)。

A、非终极符集B、终极符集C、字母表D、状态集35.(B)和代码优化部分不是每个编译程序都必需的。

A、语法分析B、中间代码生成C、词法分析D、目标代码生成36.四元式之间的联系是通过(B)实现的。

A、指示器B、临时变量C、符号表D、程序变量36.文法G:S→xSx|y所识别的语言是(C)。

A、xyxB、(xyx)*C、x n yx n(n≥0)D、x*yx*37.如果文法G是无二义的,则它的任何句子α(A)。

A、最左推导和最右推导对应的语法树必定相同B、最左推导和最右推导对应的语法树可能不同C、最左推导和最右推导必定相同D、可能存在两个不同的最左推导,但它们对应的语法树相同38.表达式(┐A∨B)∧(C∨D)的逆波兰表示为(B)。

A、┐AB∨∧CD∨B、A┐B∨CD∨∧C、AB∨┐CD∨∧D、A┐B∨∧CD∨39.优化可生成(D)的目标代码。

A、运行时间较短B、占用存储空间较小C、运行时间短但占用内存空间大D、运行时间短且占用存储空间小40.给定文法G:A→bA|cc,在下面的符号串中,为该文法句子的是(D )。

A、bcbcB、bcbccC、bccbccD、bbbcc 41.已知语言L={a n bb n|n≥1},则下述文法中,(D)可以产生语言L。

A、Z→ aZb | aAb | bB、A→aAbA→ aAb | b A→bC.、Z→AbB D、Z→ aAbA→aA | a A→ aAb | bB→bB | b42.设Σ={x,y},则对其上的正规式ε所对应的正规集是(C)。

A、εB、C、{ε}D、{ε,x,y}44.一个LR分析器实质上是一个带有先进后出存储栈的(A)。

A、DFAB、NFAC、ACTION表D、LR分析表45.自下而上语法分析的主要分析动作是(B)。

A、移进B、推导C、归约D、匹配46.规范归约称为(B)。

A、最右归约B、最左归约C、最左推导的逆过程D、直接归约47.中间代码生成时所依据的是(D)。

A.、语法规则B、词法规则C、语义规则D、等价变换规则48.给定文法G:E →E+T | TT→T*F | FF→i |(E)则句子i+i+(i*i)*i的逆波兰表示为(C)。

A. iii*i++B. ii+iii**+C. ii+ii*i*+D. 以上都不正确49.动态存储分配可采用的分配方案有(C)。

A、对式存储分配B、线性存储分配C、栈式存储分配D、链式存储分配50.下列(C)不属于局部优化。

A、合并已知量B、利用公共子表达式C、强度削弱D、删除无用赋值51.给定文法G:V→aaV|bc,在下面符号串中,为该文法句子的是(B)。

A、aaB、aabcC、abcD、以上都不对52.在四类文法中,哪一类描述语言的能力最弱?(A)A、0型文法B、1型文法C、2型文法D、3型文法53.设定义在字母表{a,b,c,x,y,z}上的正规式r=(a|b|c)(x|y|z),则L(r)中的元素有(A)个。

A、9B、6C、18D、2754.规范归约的关键问题是寻找(A)。

A、句柄B、短语C、最左素短语D、直接短语55.LR分析法属于(D)。

A、自顶向下分析法B、LALR分析法C、SLR分析法D、自底向上分析法56.以下关于静态存储分配说法正确的是( )A、数据对象的长度必须在编译时知道B、过程调用允许递归C、允许用户动态建立数据实体D、以上都不对57.输出目标代码的形式有( )。

A、具有绝对地址的机器语言程序B、具有相对地址的机器码程序C、汇编指令程序D、以上都对58.算符优先分析法实际上是一种(C)。

A、规范规约B、规范推导C、自下而上规约D、自上而下推导59.一个规范句型的句柄的右边应该是(C)。

A、只含非终结符B、只含一个终结符和一个非终结符C、只含终结符D、包含若干终结符和非终结符60.巴科斯-诺尔范式(即产生式)是一种广泛采用的(C)的工具。

A、描述规则B、描述语言C、描述文法D、描述句子61.一个句型中的最左(B)称为该句型的句柄。

A、短语B、直接短语C、素短语D、终结符号62.在规范规约中,任何可规约串的出现都在(C)。

A、栈的内部B、剩余的输入串中C、栈顶D、在栈顶和输入串中63.一个算符文法的任何句型都不含有两个相邻的(B)。

A、终结符B、非终结符C、终结符和非终结符D、ε2、编译过程中,词法分析常用的方法是()A、有穷自动机B、图灵机C、图论D、无穷自动机3、编译过程中,语法分析常用的方法是()A、自上而下推导B、自下向上归约C、回溯D、自上而下推导和自下向上归约4、编译过程中,中间代码生成的常用方法是()A、LR方法B、语法制导翻译方法C、最优匹配法D、递归法5、对于编译程序而言,输入数据是()A、源程序B、目标程序C、机器程序D、编译程序6、有穷自动机确定化常用的方法是()A、造表法B、LR方法C、子集法D、造表法和子集法7、一个句型的最左直接短语,称为该句型的()A、句子B、句柄C、短语D、表达式8、在LR分析表中查到符号rj,则LR分析表应该执行的动作是()A、把下一个状态I和当前状态移进栈B、接受C、用文法的第j个产生式来归约D、出错9、用直接改写法来消除直接左递归的思想是()A、构造FIRST集合B、构造SELECT集合C、将直接左递归转化改写为等价的直接右递归D、构造FOLLOW集合。

相关文档
最新文档