编译概念复习题(参考答案)
编译原理期末复习题(含答案)

a. 句型
b. 句子
c. 以单词为单位的程序
d. 文法的开始符
e. 句柄
6、对正规文法描述的语言,以下 有能力描述它。
a.0 型文法
b.1 型文法 c.上下文无关文法 d.右线性文法 e.左线性文法
解答 1、e、a、c 2、a、c、e 3、b、c、d 4、a、c 5、b、c 6、a、b、c、d、e
三、填空题
1、选 c。
2、选 a。
3、选 c。
4、虽然 a 与 b 没有优先关系,但构造优先函数后,a 与 b 就一定存在优先关系了。所以,由 f(a)>g)(b)
或 f(a)<g(b)并不能判定原来的 a 与 b 之间是否存在优先关系:故选 c。
5、如果文法 G 无二义性,则最左推导是先生长右边的枝叶:对于 d,如果有两个不同的是了
6、自下而上分析法采用 、归约、错误处理、
等四种操作。
7、Chomsky 把文法分为
种类型,编译器构造中采用
和
文法,它们分别产
生
和
语言,并分别用
和
自动机识别所产生的语言。
解答 1、空集 终结符 右
2、最左
3、自上而上 自下而上
4、自上而上
5、语法 分析
6、移进 接受
7、4 2 型 3 型 上下文无关语言 正规语言 下推自动机 有限
a. 直接短语
b. 句柄
c. 最左素短语
d. 素短语
13、有文法 G:E→E*T|T
T→T+i|i 句子 1+2*8+6 按该文法 G 归约,其值为 。
a. 23 B. 42 c. 30 d. 17
14、规范归约指 。
a. 最左推导的逆过程
编译原理复习题答案

8
# Expr
id((id)) #
9
# ExprTail Var
id((id)) #
Expr →Var ExprTail
10 # ExprTail VarTail id
id((id)) #
Var→id VarTail
11 # ExprTail VarTail
((id)) #
12 # ExprTail )Expr(
(要求:先将正规式转化为 NFA,再将 NFA确定化,最小化) 答案: ( 一) 相应的正规式为 (a|b)*ab(a|b)* ( 二) ①与此正规式对应的 NFA为
②状态转换矩阵为:
③ 最小化:
{0 ,1,2} {3 ,4,5}
{0 , 2} ,1, {3 ,4, 5}
b
a
a
a
b
0
1
3
b
④所以此等价的 DFA为:开始状态为 0 ,终态集为 {3} ,状态集为 {0,1,3} ,
2、证明下面文法是 SLR(1)但不是 LR(0) 的。
S→ A
A→ Ab|bBa
B→ aAc|a|aAb
解:文法 G[S] : 0: S→A 1:A→Ab 2:A→bBa 3:B→aAc 4:B→a 5:B→aAb
构造 LR(0) 项目集规范族:
状态 项目集
转换函数
0
S→·A
GO[0,A] =1
答案:文法 G(S):S → AC A→ aaAbb/ab C→ ccCcc/cc
四、词法分析题
1、构造下面正规式相应的 DFA
*
**
((0|1) |(11) )
(要求:先将正规式转化为 NFA,再将 NFA确定化,最小化)
最新编译原理复习题及答案

编译原理复习题及答案一、选择题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.用高级语言编写的程序经编译后产生的程序叫(B)A.源程序 B.目标程序C.连接程序D.解释程序12.(C)不是编译程序的组成部分。
A.词法分析程序B.代码生成程序C.设备管理程序D.语法分析程序13.通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括(C)。
A.模拟执行器B.解释器 C.表格处理和出错处理D.符号执行器14.源程序是句子的集合,(B)可以较好地反映句子的结构。
A. 线性表B. 树C. 完全图D. 堆栈15.词法分析器的输出结果是(D)。
A、单词自身值B、单词在符号表中的位置C、单词的种别编码D、单词的种别编码和自身值16.词法分析器不能(D)A. 识别出数值常量B. 过滤源程序中的注释C. 扫描源程序并识别记号D. 发现括号不匹配17.文法:G:S→xSx | y所识别的语言是(D)。
编译技术考试试题及答案

编译技术考试试题及答案考试试题一:编译过程的基本原理是什么?答案:编译过程是将源代码转化为目标代码的过程。
它主要包括以下几个步骤:词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。
其中,词法分析将源代码划分为一个个的词法单元;语法分析将词法单元按照语法规则进行组织和分析;语义分析对语法正确的代码进行语义检查;中间代码生成将源代码转化为一种中间表示形式;代码优化对中间代码进行优化以提高程序执行效率;目标代码生成将中间代码转化为目标机器代码。
考试试题二:什么是LL(1)文法?答案:LL(1)文法是一种上下文无关文法。
它的特点是每个非终结符的任意一个产生式的开始符号的集合都是不相交的,并且对于任意一个非终结符的产生式,它的所有后继符号串的FIRST集合也是不相交的。
LL(1)文法主要用于LL(1)语法分析器的构建。
考试试题三:请解释一下语法制导翻译的概念。
答案:语法制导翻译是指将源语言的语法结构翻译为目标语言的过程。
它通过在语法分析的同时进行翻译动作,将源语言的语义信息传递到目标语言中。
语法制导翻译可以通过语法制导定义的方式来实现,即在语法规则中嵌入翻译动作。
这样,在语法分析的过程中,每次使用某个产生式进行规约时,都会执行相应的翻译动作。
考试试题四:简述基于栈的中间代码生成方法。
答案:基于栈的中间代码生成方法是将源代码转化为中间代码的一种常用方法。
它利用栈数据结构来辅助生成中间代码。
具体步骤如下:1. 初始化栈,将栈底设置为$2. 读入源代码的符号串3. 从左到右扫描输入符号串,遇到终结符号则入栈,遇到非终结符号则查找相应的产生式,并将产生式右部符号入栈4. 重复步骤3,直到栈顶为$且输入符号串为空时停止5. 栈中剩余的中间代码即为生成的结果基于栈的中间代码生成方法简单高效,能够准确地将源代码转化为中间代码,为后续的代码优化和目标代码生成提供了便利。
考试试题五:编译过程中常见的代码优化技术有哪些?答案:编译过程中常见的代码优化技术包括:常量传播、复制传播、死代码删除、公共子表达式消除、循环优化、函数内联、代码重排等。
编译原理复习题有答案

编译原理复习题有答案编译原理复习题及答案一、选择题1. 编译器的主要功能是什么?A. 代码格式化B. 代码优化C. 将源代码转换为机器码D. 错误检测和修复答案:C2. 词法分析阶段的主要任务是什么?A. 语法分析B. 语义分析C. 识别源程序中的词法单元D. 代码生成答案:C3. 下列哪个不是编译原理中的常见数据结构?A. 栈B. 队列C. 哈希表D. 链表答案:D4. 语法分析通常采用哪种方法?A. 递归下降分析B. 动态规划C. 贪心算法D. 深度优先搜索答案:A5. 代码优化的目的是什么?A. 增加程序长度B. 减少程序运行时间C. 提高程序的可读性D. 增加程序的复杂性答案:B二、简答题1. 简述编译过程的主要阶段。
答案:编译过程主要分为四个阶段:词法分析、语法分析、语义分析和代码生成。
词法分析负责将源代码分解成词法单元;语法分析构建语法树,检查源代码的语法结构;语义分析检查程序的语义正确性;代码生成将源代码转换成目标代码或机器码。
2. 什么是自底向上的语法分析方法?答案:自底向上的语法分析方法是一种从叶子节点开始,逐步向上构建语法树的方法。
它通常使用移进-归约分析技术,通过将输入符号与栈顶符号进行匹配,不断地将它们归约成非终结符,直到整个输入被归约为起始符号。
3. 请解释什么是中间代码,并说明其作用。
答案:中间代码是一种介于源代码和目标代码之间的代码形式,通常用于代码优化和目标代码生成。
它具有高级语言的可读性,同时又能表达程序的控制流和数据流信息。
中间代码使得编译器可以在不同的阶段对程序进行优化,提高程序的执行效率。
三、论述题1. 论述编译原理中的错误处理机制。
答案:编译原理中的错误处理机制主要包括错误检测、错误恢复和错误报告。
错误检测是指在编译过程中识别出源代码中的语法或语义错误;错误恢复是指在检测到错误后,编译器采取的措施以继续编译过程,避免因单个错误而中断整个编译;错误报告则是向程序员提供错误信息,帮助其定位和修复错误。
编译原理复习题及答案

编译原理复习题及答案一、选择题1.一个正规语言只能对应(B)A一个正规文法B一个最小有限状态自动机2.文法G[A]:A→εA→aBB→AbB→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)ALe某是一个词法分析器的生成器BYacc是一个语法分析器9.下面说法正确的是(A)A一个正规文法也一定是二型文法B一个二型文法也一定能有一个等价的正规文法10.编译原理是对(C)。
A、机器语言的执行B、汇编语言的翻译C、高级语言的翻译D、高级语言程序的解释执行C.FORTRAND.PASCAL11.(A)是一种典型的解释型语言。
A.BASICB.C12.把汇编语言程序翻译成机器可执行的目标程序的工作是由(B)完成的。
A.编译器B.汇编器C.解释器D.预处理器13.用高级语言编写的程序经编译后产生的程序叫(B)A.源程序B.目标程序C.连接程序14.(C)不是编译程序的组成部分。
A.词法分析程序B.代码生成程序D.解释程序D.语法分析程序C.设备管理程序15.通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括(C)。
A.模拟执行器B.解释器C.表格处理和出错处理D.符号执行器16.编译程序绝大多数时间花在(D)上。
编译原理复习题一(含答案)

一、单选题(每题2分,共20分)1. 编译器的()阶段可将源程序的字符流收集到若干记号中。
A. 语法分析B. 语义分析C. 代码生成D. 词法分析2. 文法A aA | b属于正则文法,正则文法在乔姆斯基层次中对应于()文法。
A. 1型B. 2型C. 3型D. 0型3. 某C语言源代码文件包含#include <stdio.h>,()将对源代码进行处理,把文件stdio.h 包含进去。
A.编译器B.解释器C.汇编器D.预处理器4. LL(1)文法的充要条件是()。
A.对于文法中的每条产生式Uα1|α2|…|αn,要求FIRST(αi)∩FIRST(αj)=Φ(i≠j)B.该文法对应的LL(1)分析表中每个项目最多只有一条产生式。
C.A和BD.都不是5. 以下说法中正确的是()。
A.任何语言都可以描述为一个正则表达式。
B.对于任何一个NFA M,都存在一个DFA M’,满足L(M)= L(M’)。
C.任何一个DFA只有一个终态。
D.NFA的弧上标记只含输入字母表中的元素。
6.合成属性的计算可以通过对语法树进行()遍历进行。
A. 前序B.中序C.后序D.任意7.乔姆斯基的2型文法是这样一种语言,其产生式限制为()。
A. α->βB. P->βC. P->a或P->aβD. αPγ->αβγ8. 正则式的“*”读作()。
A. 并且B.连接C.正则闭包D.闭包9. 编译程序中的语义分析器接受以()为单位的输入,并产生信息供以后各阶段使用。
A. 语法树B.子程序C.单词D.语句10.文法A->aAb|ab生成的语言是()。
A. {ab}B.{aAb}C. {anbn|n≥1}D.{anbn|n≥0}二、判断题(每题2分,共10分,对的打√,错的打×)1. 一个LR(0)文法一定是SLR(1)文法。
()2. 在类型声明文法中,类型属性type是继承属性。
2-3-习题(含解答)

2-3 习题(含解答)目录第1章编译原理概述 (1)第2章PL/O编译程序的实现 (4)第3章文法和语言 (4)第4章词法分析 (13)第5章自顶向下语法分析方法 (28)第6章自底向上优先分析 (39)第7章LR分析 (42)第8章语法制导翻译和中间代码生成 (60)第9章符号表 (67)第10章目标程序运行时的存储组织 (70)第11章代码优化 (73)第12章代码生成 (76)综合练习一 (79)综合练习二 (84)综合练习三 (90)综合练习四 (95)综合练习五 (101)综合练习六 (107)第1章编译原理概述一、选择题1.一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括 (1) 。
其中, (2) 和代码优化部分不是每个编译程序都必需的。
词法分析器用于识别 (3) ,语法分析器则可以发现源程序中的 (4) 。
(1) A.模拟执行器 B.解释器 C.表格处理和出错处理 D.符号执行器(2) A.语法分析 B.中间代码生成 C.词法分析 D.目标代码生成(3) A.字符串 B.语句 C.单词 D.标识符(4) A.语义错误 B.语法和语义错误 C.错误并校正 D.语法错误2.程序语言的语言处理程序是一种 (1) 。
(2) 是两类程序语言处理程序,他们的主要区别在于 (3) 。
(1) A.系统软件 B.应用软件 C.实时系统 D.分布式系统(2) A.高级语言程序和低级语言程序 B.解释程序和编译程序C.编译程序和操作系统D.系统程序和应用程序(3) A.单用户与多用户的差别 B.对用户程序的查错能力C.机器执行效率D.是否生成目标代码3.汇编程序是将翻译成,编译程序是将翻译成。
A.汇编语言程序B.机器语言程序C.高级语言程序D. A 或者BE. A 或者CF. B或者C4.下面关于解释程序的描述正确的是。
(1) 解释程序的特点是处理程序时不产生目标代码(2) 解释程序适用于COBOL 和 FORTRAN 语言(3) 解释程序是为打开编译程序技术的僵局而开发的A. (1)(2)B. (1)C. (1)(2)(3)D.(2)(3)5.高级语言的语言处理程序分为解释程序和编译程序两种。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编译概念复习题(参考答案)一、填空题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.词法错误7.开发一个编译程序应掌握。
A.源语言B.目标语言C.编译技术D.以上三项都是8.中间代码生成所依据的是语言的。
A.词法规则B.语法规则C.语义规则D.产生规则10.测试一个编译程序时使用的测试数据是。
A.源程序B.中间代码C.目标程序D.任意数据11.可以作为目标代码的语言是。
A.高级语言B.中间语言C.低级语言D.程序设计语言12.编译程序检查、处理源程序中的错误具体指的是。
A.词法错误B.语法错误C.语义错误D.以上三项都是13.同正则表达式(a | b)+等价的正则表达式是。
A.(a | b) * B.(a | b) (a | b) *C.(a b)* (a b) D.(a | b)| (a | b)*14.词法分析器的输出结果是。
A.单词自身B.单词的机内符C.单词的词义信息D.单词的词法信息15.如果一个正则表达式所代表的集合是无穷的,则它必含有运算。
A.连接运算:“·”B.或运算:“|”C.闭包运算:“*”D.括弧:“(”和“)”16.称有限自动机A1和A2等价是指。
A.A1和A2都是定义在一个字母表Σ上的有限自动机B.A1和A2状态数和有向边数相等C.A1和A2状态数或有向边数相等D.A1和A2所能识别的字符串集合相同17.DFA同NFA的不同之处是。
A.DFA的一个状态发出的边不能相同,而NFA的一个状态可以发出多条相同的边B.DFA可以含有多个终止状态,而NFA可以含有多个初始状态C.DFA和NFA 所描述的字符串集合不同D.DFA同NFA使用的构造技术和对象不同18.同正则表达式(a | b)*等价的正则表达式是。
A.(a | b)+ B.a* | b*C.(a b)*D.(a* | b*)+19.词法分析器的加工对象是。
A.中间代码B.单词C.源程序D.元程序20.称正则表达式R1和R2等价是指。
A.R1和R2都是定义在一个字母表Σ上的正则表达式B.R1和R2中使用的运算符相同C.R1和R2代表一个正则集D.R1和R2代表不同的正则集21.如果一个有限自动机所能识别的字符串集合是无穷的,则它必。
A.含有多个状态B.含有多条有向边C.含有多个终止状态D.含有回路22.DFA同NFA的不同之处是。
A.DFA只能含有一个终止状态,而NFA可以含有多个终止状态B.DFA只能含有一个初始状态,而NFA可以含有多个初始状态C.DFA和NFA 所描述的字符串集合不同D.DFA同NFA使用的构造技术和对象不同23.同正则表达式a*b*等价的文法是。
A.G1:S→aS|bS|εB.G2:S→aSb|εC.G3:S→aS|Sb|εD.G4:S→abS|ε24.如果一个文法G是二义性文法,则必存在某个句子x∈L(G),该句子。
A.存在两个不同的最右推导和一个最左推导B.存在两个不同的最左推导和一个最右推导C.最左推导和最右推导不同D.存在两个不同的最左推导和两个不同的最右推导25.称文法G1和G2等价是指。
A.L(G1)≡L(G2) B.L(G1)=L(G2)C.L(G1)⊆L(G2) D.L(G2)⊆L(G1)26.由文法的开始符出发通过若干步(包括0步)推导产生的文法符号序列是。
A.语言B.句型C.句子D.句柄27.最左简单子树的叶结点,自左至右排列组成句型的。
A.短语B.简单短语C.句柄D.素短语28.CFG文法G:S→[ S ] | [ ]所产生的语言是。
A.[ m ] n (m,n>0)B.[ m ] n (m,n>1)C.[ m ] m(m≥1)D.[ n ] n(n≥0)29.如果一个文法G是无二义性文法,则对任一句子x∈L(G),该句子。
A.可能存在两个不同的最右推导B.可能存在两个不同的最左推导C.最左推导和最右推导不同D.仅存在一个最左推导和一个最右推导30.正则文法的句型具有的特点是。
A.句型中仅含一个非终结符或不含非终结符B.句型中仅含一个非终结符或只含终结符C.句型中仅含一个非终结符且在句型的最右端,或不含非终结符D.句型中可含多个非终结符且在句型的最左端,或不含非终结符31.规范推导是。
A.最右推导的逆过程B.最左推导C.最左归约的逆过程D.最右规约的逆过程32.在自顶向下语法分析中,要求文法满足。
A.无左递归B.无左公因子C.无右递归D.无回溯33.一个文法G是LL(1)文法的充要条件是对每一个非终结符A的任意两个不同产生式A→α | β,有。
A.FIRST(α)∩FIRST(β)=ΦB.FIRST(α)∩FOLLOW(A)=ΦC.SELECT(A→α)∩SELECT(A→β)=ΦD.SELECT(A→α)∩SELECT(A→β)≠Φ34.一个文法是简单优先文法应满足的条件是。
⑴没有形如A→…BC…的产生式(A,B,C∈V N)⑵没有形如A→ε产生式⑶任意两个终结符号之间至多存在一种优先关系⑷没有相同的产生式右部可选项有:A.⑴⑵⑶B.⑵⑶⑷C.⑴⑶⑷D.⑴⑵⑷35.算符优先分析法每次都是对进行归约。
A.短语B.最左素短语C.素短语D.句柄36.一个文法G,若,则称它是LL(1)文法。
A.G中不含左递归B.G无二义性C.G的LL(1)分析表不含多重定义D.G中产生式不含左公因子37.设有文法G=({S},{a},{ S→SaS | ε},S),该文法是。
A.LL(1)文法B.LR(0)文法C.算符优先文法D.二义性文法38.若B为非终结符,则A→α·Bβ为项目。
A.移入B.待约C.归约D.接受39.LR分析器核心部分是一张分析表,该表由组成。
A.ACTION表B.GOTO表C.LL(1)分析表D.ACTION表和GOTO表40.在递归子程序方法中,如果文法存在左递归,则会使分析过程产生。
A.回溯B.非法调用C.有限次调用D.无限循环41.编译程序的语法分析器必须输出的信息是。
A.语法错误信息B.语法规则信息C.语法分析过程D.语句序列42.一个文法是算符优先文法应满足的条件是。
⑴没有形如A→…BC…的产生式(A,B,C∈V N)⑵没有形如A→ε产生式⑶任意两个终结符号之间至多存在一种优先关系⑷没有相同的产生式右部可选项有:A.⑴B.⑴⑵C.⑴⑵⑶D.⑴⑵⑶⑷43.算符优先文法与算符优先函数的关系描述中正确的是。
A.一个算符优先文法一定存在算符优先函数与之对应B.一个算符优先文法一定存在多对算符优先函数与之对应C.一个算符优先文法一定存在有限对算符优先函数与之对应D.一个算符优先文法可能存在也可能不存在算符优先函数与之对应44.LL(1)分析法中的“1”的含义是向输入串中查看一个输入符号,其目的是。
A.确定最左推导B.确定可归前缀C.确定分析一步使用的产生式右部匹配串D.确定是否推导45.若a为终结符,则A→α• aβ为项目。
A.移入B.待约C.归约D.接受46.可归前缀是指。
A.规范句型的前缀B.活前缀C.含有句柄的活前缀D.句柄47.下述关于标识符和名字的叙述中,正确的为。
A.标识符有一定的含义B.名字有确切的属性C.名字是一个没有意义的字符序列D.标识符和名字是等同的48.下列错误属于静态语义错误的是。
A.括弧不配对B.出现非法字符C.类型不相容D.溢出49.属于标识符“种属”属性信息的描述是。
A.整型B.变量C.地址D.指针50.不属于标识符“类型”属性信息的描述是。
A.整型B.实型C.指针D.类型51.函数表达式sqrt (-8)是错误的,它属于错误。
A.语法B.词法C.静态语义D.动态语义52.有一语法制导翻译算法如下:S→bAb { print “1”}A→(B { print “2”}A→a { print “3”}B→aA) { print “4”}若输如序列为b(a(a(aa)))b,且采用自底向上的分析方法,则输出序列为。
A.32224441 B.34242421C.12424243 D.3444221253.使用可以把语句翻译成四元式序列。
A.词法规则B.语法规则C.语义规则D.等价变换规则54.在语法制导翻译中不采用拉链—回填技术的语句是。
A.转向语句B.赋值语句C.条件语句D.循环语句55.下面逆波兰式(后缀式)中,能正确表示算术表达式a+b+c+d的是。
A.abcd+++ B.abc+d++C.ab+cd++ D.ab+c+d+二、判断题(正确打(√)、错误打(×))1.(√)源程序同目标程序是等价关系。
2.(×)用高级语言编写的源程序都必须通过编译,产生目标程序后才能运行。
3.(×)高级语言程序到低级语言程序的转换是结构上的变换。
4.(×)多遍扫描的编译程序的多遍是指多次重复读源程序。
5.(√)解释程序虽然不产生目标程序,但它可能产生中间代码。
6.(√)DFA同NFA等价。
7.(×)使用正则运算能够描述定义在字母表 上的所有符号串集合。
8.(×)一个有限自动机中,有且仅有一个初始状态。
9.(×)一个有限自动机中,有且仅有一个终止状态。
10.(×)有限自动机的作用是实现单词的生成。
11.(√)使用有限自动机可以实现单词的识别。
12.(√)对任一正则表达式e,都存在一个DFA A,使L(e)=L(A)。
13.(√)最小化的DFA,它的状态个数最少。
14.(√)如果一个语言的句子是无穷的,则定义该语言的文法一定是递归的。
15.(×)在编译技术中由于使用前后文无关文法描述程序设计语言,所以程序设计语言是前后文无关语言。
16.(√)一个语言的文法是不惟一的。
17.(×)二义性文法是可以判定的。
18.(×)每个非终结符产生的终结符号串集都是该语言子集。
19.(√)规范归约是最右推导的逆过程。
20.(×)语法分析器可以检查程序中出现的所有错误。
21.(√)一个LL(1)文法一定是无二义性和无回溯文法。
22.(×)一个素短语一定是短语,反之一个短语也是素短语。
23.(√)所有LR分析器的总控程序都是一样的,只是分析表各有不同。