(完整word版)编译原理选择题

合集下载

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案一、选择题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. 给定一个简单的四则运算表达式,请写出其对应的逆波兰表达式。

(完整版)编译原理复习题及答案

(完整版)编译原理复习题及答案

编译原理复习题及答案一、选择题1.一个正规语言只能对应(B)A 一个正规文法B 一个最小有限状态自动机2.文法G[A]:A→εA→aB B→Ab B→a是(A)A 正规文法B 二型文法3.下面说法正确的是(A)A 一个SLR(1)文法一定也是LALR(1)文法B 一个LR(1)文法一定也是LALR(1)文法4.一个上下文无关文法消除了左递归,提取了左公共因子后是满足LL(1)文法的(A)A 必要条件B 充分必要条件5.下面说法正确的是(B)A 一个正规式只能对应一个确定的有限状态自动机B 一个正规语言可能对应多个正规文法6.算符优先分析与规范归约相比的优点是(A)A 归约速度快B 对文法限制少7.一个LR(1)文法合并同心集后若不是LALR(1)文法(B)A 则可能存在移进/归约冲突B 则可能存在归约/归约冲突C 则可能存在移进/归约冲突和归约/归约冲突8.下面说法正确的是(A)A Lex是一个词法分析器的生成器B Yacc是一个语法分析器9.下面说法正确的是(A)A 一个正规文法也一定是二型文法B 一个二型文法也一定能有一个等价的正规文法10.编译原理是对(C)。

A、机器语言的执行B、汇编语言的翻译C、高级语言的翻译D、高级语言程序的解释执行11.(A)是一种典型的解释型语言。

A.BASIC B.C C.FORTRAN D.PASCAL12.把汇编语言程序翻译成机器可执行的目标程序的工作是由(B)完成的。

A. 编译器B. 汇编器C. 解释器D. 预处理器13.用高级语言编写的程序经编译后产生的程序叫(B)A.源程序 B.目标程序C.连接程序D.解释程序14.(C)不是编译程序的组成部分。

A.词法分析程序B.代码生成程序C.设备管理程序D.语法分析程序15.通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括(C)。

A.模拟执行器B.解释器 C.表格处理和出错处理D.符号执行器16.编译程序绝大多数时间花在(D)上。

完整word版,编译原理期末试题(8套含答案)详解,推荐文档

完整word版,编译原理期末试题(8套含答案)详解,推荐文档

《编译原理》期末试题(一)一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)1.编译程序是对高级语言程序的解释执行。

(× )2.一个有限状态自动机中,有且仅有一个唯一的终态。

(×)3.一个算符优先文法可能不存在算符优先函数与之对应。

(√ )4.语法分析时必须先消除文法中的左递归。

(×)5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。

(√)6.逆波兰表示法表示表达式时无须使用括号。

(√ )7.静态数组的存储空间可以在编译时确定。

(×)8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。

(×) 9.两个正规集相等的必要条件是他们对应的正规式等价。

(× )10.一个语义子程序描述了一个文法所对应的翻译工作。

(×)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个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.构造编译程序应掌握______。

(完整word版)编译原理试卷及答案

(完整word版)编译原理试卷及答案

东 北 大 学秦 皇 岛 分 校课程名称: 编译原理 试卷: (B )答案 考试形式: 闭卷授课专业: 计算机科学与技术 考试日期: 年 月 日 试卷:共 2 页题号 一 二 三 四 总分得分 阅卷人一、填空题(每空2分,共30分)1、编译程序的整个过程可以从逻辑上划分为词法分析、 语法分析 、语义分析、中间代码生成、 代码优化 和目标代码生成等几个阶段,另外还有两个重要的工 作是 理 和出错处理。

表格管2、规范规约中的可归约串是 句柄 ,算符优先分析中的可归约串是 最左素短语 。

3、语法分析方法主要可分为 自顶向下 和 自底向上 两大类。

4、LR (0)文法的项目集中不会出现 移进-归约 冲突和 归约-归约 冲突。

5、数据空间的动态存储分配方式可分为 栈式 和 堆式 两种。

6、编译程序是指能将 源语言 程序翻译成 目标语言 程序的程序。

7、确定有穷自动机DFA 是 NFA 的一个特例。

8、表达式 (a+b)*c 的逆波兰表示为 ab+c* 。

二、选择题(每题2分,共20分)1、LR 语法分析栈中存放的状态是识别 B 的DFA 状态。

A 、前缀B 、可归前缀C 、项目D 、句柄 2、 D 不可能是目标代码。

A 、汇编指令代码B 、可重定位指令代码C 、绝对机器指令代码D 、中间代码 3、一个控制流程图就是具有 C 的有向图A 、唯一入口结点B 、唯一出口结点C 、唯一首结点D 、唯一尾结点 4、设有文法G[S]:S →b|bBB →bS ,则该文法所描述的语言是C 。

A 、L (G )={b i |i ≥0}B 、L (G )={b 2i |i ≥0}C 、L (G )={b 2i+1|i ≥0}D 、L (G )={b 2i+1|i ≥1}5、把汇编语言程序翻译成机器可执行的目标程序的工作是由 B 完成的。

A 、编译器B 、汇编器C 、解释器D 、预处理器 6、在目标代码生成阶段,符号表用于 D 。

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案一、选择题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. 假设编译器在进行语法分析时,遇到一个语法错误的代码片段,请简述编译器如何处理这种情况。

(完整word版)编译原理期末考试试卷及答案

(完整word版)编译原理期末考试试卷及答案

第 0 页共 16 页一.填空题(每空2分,共20分) 1. 不同的编译程序关于数据空间的存储分配策略可能不同,但大部分编译中采用的方案有两种:静态存储分配方案和动态存储分配方案,而后者又分为(1)和(2)。

2. 规范规约是最(3)规约。

3. 编译程序的工作过程一般划分为5个阶段:词法分析、(4)、语义分析与中间代码生成,代码优化及(5)。

另外还有(6)和出错处理。

4.表达式x+y*z/(a+b)的后缀式为(7)。

5.文法符号的属性有综合属性和(8)。

6.假设二位数组按行存放,而且每个元素占用一个存储单元,则数组a[1..15,1..20]某个元素a[i ,j]的地址计算公式为(9)。

7.局部优化是局限于一个(10)范围内的一种优化。

二.选择题(1-6为单选题,7-8为多选题,每问2分,共20分)1. 一个上下文无关文法G 包括四个组成部分:一组终结符,一组非终结符,一个(),以及一组()。

A .字符串B .产生式C .开始符号D .文法2.程序的基本块是指()。

A .一个子程序B .一个仅有一个入口和一个出口的语句C .一个没有嵌套的程序段D .一组顺序执行的程序段,仅有一个入口和一个出口 3. 高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析方法。

A .自左向右 B .自顶向下 C .自底向上 D .自右向左 4.在通常的语法分析方法中,()特别适用于表达式的分析。

A .算符优先分析法 B . LR 分析法 C .递归下降分析法 D . LL (1)分析法 5.经过编译所得到的目标程序是()。

A .四元式序列B .间接三元式序列C .二元式序列D .机器语言程序或汇编语言程序 6.一个文法所描述的语言是();描述一个语言的文法是()。

A .唯一的 B .不唯一的 C .可能唯一,也可能不唯一7.如果在文法G 中存在一个句子,当其满足下列条件()之一时,则称该文法是二义文法。

(完整版)编译原理习题及答案(整理后)

(完整版)编译原理习题及答案(整理后)

2、对无二义性文法来说,一棵语法树往往代表了 。
a. 多种推导过程
b. 多种最左推导过程
c.一种最左推导过程
d.仅一种推导过程 e.一种最左推导过程
3、如果文法 G 存在一个句子,满足下列条件 之一时,则称该文法是二义文法。
a. 该句子的最左推导与最右推导相同
b. 该句子有两个不同的最左推导
c. 该句子有两棵不同的最右推导
T→T*P|P
P→(E)|I
则句型 P+T+i 的句柄和最左素短语为 。
a.P+T 和 i b. P 和 P+T c. i 和 P+T+i d.P 和 T
8、设文法为:S→SA|A
A→a|b
则对句子 aba,下面 是规范推导。
a. SSASAAAAAaAAabAaba
b. SSASAAAAAAAaAbaaba
标语言
第二章
一、单项选择题
1、文法 G:S→xSx|y 所识别的语言是 。
a. xyx
b. (xyx)* c. xnyxn(n≥0) d. x*yx*
2、文法 G 描述的语言 L(G)是指 。
a. L(G)={α|S⇒+ α , α∈VT*}
b. L(G)={α|S⇒* α, α∈VT*}
c. L(G)={α|S⇒* α,α∈(VT∪VN*)} d. L(G)={α|S⇒+ α, α∈(VT∪VN*)}
第一章
1、将编译程序分成若干个“遍”是为了

a.提高程序的执行效率
b.使程序的结构更加清晰
c.利用有限的机器内存并提高机器的执行效率
d.利用有限的机器内存但降低了机器的执行效率

(完整版)编译原理习题及答案(整理后)

(完整版)编译原理习题及答案(整理后)

8、规范推导是最左推导,故选 d。
9、由 T→T,…和 T→(… 得 FIRSTVT(T))={(,,)};
由 T→S 得 FIRSTVT(S)⊂FIRSTVT(T),而 FIRSTVT(S)={b,∧,(};即
FIRSTVT(T)={b,∧,(,,};
因此选 c。
10、d 11、c 12、b 13、b 14、b
标语言
第二章
一、单项选择题
1、文法 G:S→xSx|y 所识别的语言是 。
a. xyx
b. (xyx)* c. xnyxn(n≥0) d. x*yx*
2、文法 G 描述的语言 L(G)是指 。
a. L(G)={α|S⇒+ α , α∈VT*}
b. L(G)={α|S⇒* α, α∈VT*}
c. L(G)={α|S⇒* α,α∈(VT∪VN*)} d. L(G)={α|S⇒+ α, α∈(VT∪VN*)}
6、一个文法所有句型的集合形成该文法所能接受的语言。
五、简答题
1、句柄 2、素短语
3、语法树
4、归约
六、问答题
1、给出上下文无关文法的定义。
2、文法 G[S]:
() () () () ()
5、推导
S→aSPQ|abQ
QP→PQ
bP→bb
bQ→bc
cQ→cc (1)它是 Chomsky 哪一型文法? (2)它生成的语言是什么? 3、按指定类型,给出语言的文法。 L={aibj|j>i≥1}的上下文无关文法。 4、有文法 G:S→aAcB|Bd
a. 23 B. 42 c. 30 14、规范归约指 。
d. 17
a. 最左推导的逆过程
b. 最右推导的逆过程

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案一、选择题1. 编译器的主要功能是什么?A. 将高级语言代码翻译成机器语言代码B. 进行程序调试C. 进行代码优化D. 管理程序运行时的内存分配答案:A2. 词法分析器的主要任务是什么?A. 将源代码分解成多个语句B. 将源代码分解成多个词素C. 检查源代码的语法正确性D. 将词素转换为相应的语法单位答案:B3. 下列哪个是自顶向下的语法分析方法?A. LL(1)分析法B. LR(1)分析法C. LALR(1)分析法D. GLR分析法答案:A4. 语义分析的主要任务是什么?A. 检查程序的语法正确性B. 检查程序的类型正确性C. 将源代码转换为目标代码D. 进行程序的优化答案:B5. 代码生成阶段的主要任务是什么?A. 将语法树转换为目标代码B. 进行程序的优化C. 检查程序的类型正确性D. 将源代码分解成多个词素答案:A二、简答题1. 简述编译过程的主要阶段。

答案:编译过程主要分为四个阶段:词法分析、语法分析、语义分析和代码生成。

词法分析将源代码分解成词素,语法分析检查源代码的语法结构,语义分析检查源代码的语义正确性,代码生成将源代码转换为目标代码。

2. 什么是中间代码?它在编译过程中起到什么作用?答案:中间代码是一种介于源代码和目标代码之间的代码形式,它通常具有更接近于机器语言的特性,但仍然保持一定的抽象级别。

中间代码在编译过程中起到桥梁的作用,它使得代码优化和目标代码生成更加方便和高效。

三、论述题1. 论述编译器优化的几种常见方法。

答案:编译器优化主要包括以下几种方法:常量折叠、死代码消除、公共子表达式消除、循环优化、代码内联、寄存器分配等。

这些优化方法可以提高程序的执行效率,减少资源消耗,提高程序的运行速度。

结束语:本试题涵盖了编译原理的基本知识点,包括编译器的功能、编译过程的主要阶段、中间代码的作用以及编译器优化的方法。

希望考生能够通过本试题加深对编译原理的理解和掌握。

(完整word版)编译原理选择题

(完整word版)编译原理选择题

(完整word版)编译原理选择题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)。

(完整word版)编译原理练习题

(完整word版)编译原理练习题

一章:1、编译程序各阶段都涉及。

A、词法分析B、表格管理C、语法分析D、语义分析2、下列哪个程序不是编译程序的组成部分?。

A、词法分析程序B、代码读入程序C、代码生成程序D、语法分析程序3、编译程序各阶段的工作往往是进行的。

A、顺序B、并行C、成批D、穿插4、词法分析所依据的是。

A、语义规则B、构词规则C、语法规则D、等价变换规则5、编译程序的语法分析器可以发现源程序中的。

A、语义错误B、语法和语义错误C、错误并校正D、语法错误6、高级语言源程序经编译后产生的程序是。

A、源程序B、目标程序C、函数D、过程1、扫描器的任务是从源程序中识别出一个个单词符号。

2、高级语言源程序有两种执行方式,即解释和编译。

判断:高级语言编写的源程序都必须通过编译,产生目标代码后才能运行。

多遍扫描的编译程序的多遍是指多次重复读源程序。

高级语言程序到低级语言程序的转换是基于语义的等价变换。

编译程序中错误处理的任务是对检查出的错误进行修改。

目标程序一定是机器语言程序。

连接装配程序可把经编译程序产生的目标程序变成可执行的机器语言程序。

简答题:1、请指出下列错误信息可能是编译的哪个阶段报告的?①else没有匹配的if;②数组下标越界;③使用的函数没有定义;④在数中出现了非数字信息。

答:①语法分析阶段②语义分析与中间代码生成阶段③语义分析与中间代码生成阶段④词法分析阶段2、何谓源程序、中间代码和目标代码?它们三者之间有何种关系?答:所谓源程序是指用某种高级语言编写的程序,它是编译程序的加工对象。

目标程序是指低级语言(机器语言或汇编语言)编写的程序,它是编译程序的加工结果。

中间代码是其结构介于源程序和目标程序之间的一种机内表示形式,它是编译程序产生的中间临时结果。

它们三者之间的关系是等价关系,即结构不同,但语义相同。

二章:1、文法G:S-xSx|y所识别的语言是。

A、xyx B 、(xyx)* C、x n yx n(n≥0) D、x*yx*2、设有文法G[S]=({S,B},{b},{S-b|bB,B-bS},S),该文法所描述的语言是。

编译原理期末试题及答案

编译原理期末试题及答案

编译原理期末试题及答案一、选择题(每题2分,共20分)1. 编译器的主要功能是将()代码转换成()代码。

A. 高级语言,低级语言B. 高级语言,机器语言C. 汇编语言,机器语言D. 机器语言,汇编语言答案:B2. 编译过程中,词法分析的输出是()。

A. 语法树B. 语法分析表C. 词法单元D. 抽象语法树答案:C3. 在编译原理中,语法分析通常采用()方法。

A. 递归下降分析B. 动态规划C. 贪心算法D. 回溯算法答案:A4. 语义分析的主要任务是()。

A. 检查语法错误B. 生成中间代码C. 检查语义错误D. 优化代码答案:C5. 编译器的优化通常发生在()阶段。

A. 词法分析B. 语法分析C. 语义分析D. 代码生成答案:D6. 编译器的前端主要负责()。

A. 代码生成B. 代码优化C. 语法分析D. 目标代码生成答案:C7. 编译器的后端主要负责()。

A. 代码生成B. 代码优化C. 语法分析D. 词法分析答案:A8. 编译原理中,LL(1)分析方法的特点是()。

A. 左到右,最右推导B. 左到右,最左推导C. 右到左,最右推导D. 右到左,最左推导答案:B9. 编译原理中,LR(1)分析方法的特点是()。

A. 左到右,最右推导B. 左到右,最左推导C. 右到左,最右推导D. 右到左,最左推导答案:B10. 编译原理中,语法制导翻译的主要思想是()。

A. 根据语法树的结构进行翻译B. 根据词法单元进行翻译C. 根据语法分析表进行翻译D. 根据语义分析表进行翻译答案:A二、填空题(每题2分,共20分)1. 编译器中,用于表示语法规则的产生式通常由非终结符、产生符号和()组成。

答案:产生式右侧2. 在编译原理中,一个文法是()的,如果它的任何两个产生式都不会导致相同的句柄。

答案:无二义性3. 编译器的词法分析阶段通常使用()算法来识别和分类词法单元。

答案:有限自动机4. 语法分析阶段,如果一个文法是左递归的,编译器需要使用()技术来消除左递归。

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案1. 选择题(每题4分,共40分)1) 当编译器在词法分析阶段遇到无法识别的字符时,应该采取的动作是:A. 直接忽略该字符并继续进行词法分析B. 输出错误信息并终止词法分析过程C. 将该字符标记为非法字符并继续词法分析D. 转交给语法分析器进行处理答案:B2) 下列关于语法分析器的描述中,错误的是:A. 语法分析器使用文法规则将输入的记号流转化为推导树B. 语法分析器可以通过自上而下或自下而上的方式进行解析C. LL(1)文法是一种常用于自上而下语法分析的文法形式D. 语法分析器的输入是词法分析器输出的记号流答案:A3) 以下关于语法制导翻译的说法,正确的是:A. 语法制导翻译是在语义分析阶段完成的B. 语法制导翻译通过产生式的属性传递进行信息的传递和计算C. 语法制导翻译只能用于自上而下的语法分析D. 语法制导翻译是在语法分析阶段完成的答案:B4) 在SLR分析算法中,项目集簇的构造过程中需要进行的操作是:A. 闭包操作和移进操作B. 移进操作和规约操作C. 闭包操作和规约操作D. 闭包操作、移进操作和规约操作答案:D5) 下列关于中间代码生成的叙述中,错误的是:A. 中间代码是一种类似于汇编代码的表示形式B. 中间代码可以直接被目标代码生成器所使用C. 中间代码的生成可以采用三地址码的形式D. 中间代码的生成在语法分析和语义分析之后进行答案:B2. 简答题(每题10分,共30分)1) 请简要描述编译器的主要工作流程。

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

在词法分析阶段,编译器将输入的源代码转化为一个个记号流。

接下来,在语法分析阶段,编译器使用文法规则对记号流进行分析,并生成语法树或推导树。

在语义分析阶段,编译器对语法树进行语义检查,并进行类型推导和符号表管理等操作。

中间代码生成阶段将经过语义分析的源代码转化为一种中间表示形式,通常是三地址码。

编译原理练习题及答案

编译原理练习题及答案

第一章练习题(绪论)一、选择题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)。

编译原理考试题及答案

编译原理考试题及答案

编译原理考试题及答案一、选择题(每题2分,共10分)1. 在编译原理中,词法分析器的主要任务是什么?A. 将源代码转换为中间代码B. 识别源代码中的词法单元C. 进行语法分析D. 优化代码答案:B2. 下列哪个选项不是编译器的组成部分?A. 词法分析器B. 语法分析器C. 运行时环境D. 语义分析器答案:C3. 编译器的哪个阶段负责检查变量是否已经声明?A. 词法分析B. 语法分析C. 语义分析D. 代码生成答案:C4. 在编译原理中,哪些技术常用于错误恢复?A. 预测分析表和LR分析B. 递归下降分析和LR分析C. 预测分析表和递归下降分析D. 预测分析表和错误恢复算法答案:D5. 编译器中用于优化代码的阶段是哪一个?A. 词法分析B. 语法分析C. 语义分析D. 代码优化答案:D二、填空题(每题2分,共10分)1. 编译器的前端包括词法分析、语法分析和________。

答案:语义分析2. 在编译过程中,________分析器负责将源代码的逻辑结构转换为一种内部表示形式。

答案:语法3. 编译器的后端包括________、寄存器分配和代码生成。

答案:中间代码生成4. 编译器中的________分析用于检查程序中的类型错误。

答案:语义5. 编译器的________阶段负责将高级语言代码转换为目标机器代码。

答案:代码生成三、简答题(每题10分,共20分)1. 简述编译器的主要功能。

答案:编译器的主要功能包括将高级语言编写的源代码转换成目标机器可以执行的机器代码,同时进行错误检测、代码优化等。

它通常包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等阶段。

2. 描述编译过程中的语法分析阶段的主要任务。

答案:语法分析阶段的主要任务是检查源代码是否符合语言的语法规则,构建抽象语法树(AST),并进行语法制导的语义分析。

这一阶段使用诸如自顶向下的递归下降分析、自底向上的移进-规约分析等技术来识别语言结构,并为后续的语义分析和代码生成打下基础。

编译原理考试题及答案

编译原理考试题及答案

编译原理考试题及答案一、选择题(每题2分,共20分)1. 编译器的主要功能是将高级语言源程序转换成机器语言目标程序。

(对/错)答案:对2. 编译过程中,词法分析器的主要任务是识别源程序中的各种词法单位。

(对/错)答案:对3. 在语法分析阶段,编译器使用的数据结构是栈。

(对/错)答案:错4. 语义分析的主要目的是检查程序的语法结构是否正确。

(对/错)答案:错5. 编译器的优化阶段可以提高目标程序的执行效率。

(对/错)答案:对6. 编译器的代码生成阶段负责将中间代码转换为目标代码。

(对/错)答案:对7. 编译器的运行时系统包括内存管理、输入输出处理等功能。

(对/错)答案:对8. 编译器的前端主要负责源程序的分析,后端负责目标代码的生成。

(对/错)答案:对9. 编译器的词法分析阶段不涉及对标识符的识别。

(对/错)答案:错10. 编译器的语法分析阶段可以识别出所有的语法错误。

(对/错)答案:对二、填空题(每题2分,共20分)1. 编译器在进行语法分析时,通常采用________算法。

答案:LL(1)或LR(1)2. 编译器在语义分析阶段,需要对变量的________进行检查。

答案:作用域和生命周期3. 编译器在代码优化阶段,常用的优化技术包括________和循环优化。

答案:常量传播4. 编译器在目标代码生成阶段,需要考虑________的约束。

答案:目标机器5. 编译器的运行时系统包括________、内存管理、输入输出处理等。

答案:程序启动和异常处理6. 编译器在词法分析阶段,需要识别的词法单位包括________、标识符、常量等。

答案:关键字7. 编译器在语法分析阶段,使用的分析表可以是________表或ACTION 表。

答案:GOTO8. 编译器在语义分析阶段,需要对表达式的________进行计算。

答案:类型9. 编译器的代码生成阶段,需要将中间代码转换为________代码。

答案:目标机器10. 编译器的运行时系统在内存管理中,需要处理________和垃圾收集。

编译原理试题

编译原理试题

编译原理题库一、选择题:1.编译原理是对(C )。

A 、机器语言的执行B 、汇编语言的翻译C 、高级语言的翻译D 、高级语言程序的解释执行2.编译程序是将高级语言程序翻译成D 。

A 、汇编语言程序 B 、机器语言程序C 、高级语言程序 D 、汇编语言或者机器语言程序3.文法:G :S →xSx | y 所识别的语言是(D )。

A 、x n yx m B 、(xyx)*C 、x *yx * D 、x n yxm (n ≥0)4.设有文法G[I]:I →I0|I1|I a|Ic|a|b|c下列符号串中是该文法的句子的有B 。

①ab0 ②a0c01 ③aaa ④bc10可选项有A 、① B 、②③④ C 、③④ D 、①②③④5.词法分析器的输出结果是(C )。

A 、单词自身值B 、单词在符号表中的位置C 、单词的种别编码D 、单词的种别编码和自身值6.为了使编译程序能够对程序设计语言进行正确的翻译,必须采用_C_方法定义程序设计语言。

A 、非形式化B 、自然语言描述问题C 、形式化D 、自然语言和符号体系相结合7. 若文法G 定义的语言是无限集,则文法必然是(C )A.先后文无关文法B.正规文法C.二义性文法D.递归文法8、描述一个语言的文法是B 。

A 、惟一的B 、不惟一的C 、个数有限的9、表达式(a+b )*c 的逆波兰表示为_C_A 、ab+c* B 、abc+* C 、a*c+b*c10、递归下降分析法和预测分析法要求描述语言的文法是_C_A 、正规文法B 、LR(1)文法C、LL (1)文法D 、右线性文法11编写一个计算机高级语言的源程序后,到正式上机运行之前,普通要经过_A_这几步①编辑② 编译③ 连接 ④运行A 、①②③④B 、①②③C 、①③D 、①④12、符号表的查找普通可以使用_B_:①顺序查找 ②折半查找 ③杂凑查找 ④排序查找可选项有:A 、①②③④ B 、①② C 、③④ D 、①②③13、语法分析的常用方法是B :①自顶向下 ②自底向上 ③自左向右 ④自右向左 可选项有:A 、①②③④B 、①②C 、③④D 、①②③14、LR 语法分析栈中存放的状态是识别文法规范句型_A_的DFA 状态。

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案一、选择题1. 编译器的主要功能是什么?A. 代码优化B. 语法分析C. 代码生成D. 所有以上选项答案:D2. 下列哪个阶段属于编译过程的前端?A. 语法分析B. 代码生成C. 运行时库链接D. 目标代码优化答案:A3. 在编译原理中,什么是“产生式系统”?A. 一种编程语言的规范B. 一种用于描述语法的系统C. 一种代码优化技术D. 一种代码生成方法答案:B4. 以下哪个是自顶向下的语法分析方法?A. LR分析B. LALR分析C. LL分析D. CYK算法答案:C5. 在编译器的哪个阶段会进行类型检查?A. 词法分析B. 语法分析C. 语义分析D. 代码生成答案:C二、填空题1. 编译器在进行________时,会识别源代码中的各种标识符、常量、运算符等,并将其转换成相应的符号。

答案:词法分析2. 在编译原理中,________图是一种用于描述程序执行过程中变量状态的图,它以节点表示变量的值,以有向边表示程序的控制流。

答案:控制流3. 语法分析的主要任务是根据________规则来分析和构建源程序的语法结构。

答案:语法4. 在编译过程中,________是将源程序中的高级表示转换为机器语言或中间代码的过程。

答案:代码生成5. 编译器的________阶段负责将优化后的代码转换为目标机器可执行的指令序列。

答案:目标代码生成三、简答题1. 简述编译器的一般工作流程。

答:编译器的一般工作流程包括以下几个阶段:首先是词法分析,将源代码文本分解成一系列的记号;其次是语法分析,根据语言的语法规则构建抽象语法树;接着是语义分析,检查源代码的语义正确性并进行类型检查;然后是中间代码生成,将抽象语法树转换为中间表示形式;之后是代码优化,对中间代码进行各种优化以提高效率;最后是代码生成,将优化后的中间代码转换为目标机器的机器代码。

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

答:自顶向下的语法分析方法从开始符号开始,尝试将输入的记号序列归约为语法中的产生式规则,直到得到完整的抽象语法树。

  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集合。

相关文档
最新文档