【网络教育】大工19春《编译原理基础》在线作业3 100分答案
大连理工大学智慧树知到“计算机科学与技术”《编译原理基础》网课测试题答案3

大连理工大学智慧树知到“计算机科学与技术”《编译原理基础》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.属性文法是指语义规则函数无副作用的语法制导定义。
()A.正确B.错误2.语法制导的产生式有多组语义规则。
()A.正确B.错误3.预测分析的关键问题是在扩展一个非终结符时怎样为它选择合适的产生式。
()T、对F、错4.解释执行的效率比编译器生成的机器代码的执行效率高。
()A.正确B.错误5.同心集合并可能会产生的冲突为()。
A.二义B.移进——移进C.移进——归约D.归约——归约6.语义分析的一个重要部分是类型检查,编译器检查每个算符的运算对象,看它们的类型是否适当。
() T、对F、错7.符号表是为每个变量名字保存一个记录的数据结构,记录的域是该名字的属性。
()T、对F、错8.编译器是一种翻译器,它的特点是目标语言比源语言低级。
()T、对F、错9.代码生成是指取源程序的一种中间表示作为输入并把它映射到一种目标语言。
()A.正确B.错误10.确定的有限自动机从任何状态出发,对于任何输入符号,最多只有一个转换。
()A.正确B.错误11.自下而上的语法分析方法的基本思想是从待识别的输入串开始逐步()到文法的开始符号。
A.归约B.推导C.递归D.逆序12.一个文法,如果存在某个句子有不止一棵分析树与之对应,那么称这个文法是二义的。
() T、对F、错13.LL(1)文法中第一个L表示()。
A.最左推导B.最左归约C.从左到右识别输入串D.规范归约14.后缀表示是语法树的一种线性表示。
()A.正确B.错误15.自下而上分析器按从根结点到叶结点的次序来建立分析树。
()A.正确B.错误第2卷一.综合考核(共15题)1.解释执行的效率比编译器生成的机器代码的执行效率高。
()T、对F、错2.形式语言中,不包含()。
A.上下文有关文法B.上下文无关文法C.短语文法D.句子文法3.推导的意思是把产生式看成重写规则,把符号串中的非终结符用其产生式右部的串来代替。
大工19春《编译原理基础》在线作业1

(判断题)1: 编译器是一种翻译器,它的特点是目标语言比源语言低级。
A: 对B: 错正确答案:(判断题)2: 语法树的子结点代表该运算的运算对象。
A: 对B: 错正确答案:(判断题)3: 语义分析的一个重要部分是类型检查,编译器检查每个算符的运算对象,看它们的类型是否适当。
A: 对B: 错正确答案:(判断题)4: 语言定义不允许运算对象的类型作隐式转换。
A: 对B: 错正确答案:(判断题)5: 代码生成是指取源程序的一种中间表示作为输入并把它映射到一种目标语言。
A: 对B: 错正确答案:(判断题)6: 符号表是为每个变量名字保存一个记录的数据结构,记录的域是该名字的属性。
A: 对B: 错正确答案:(判断题)7: 解释器可以通过翻译来生成目标程序。
A: 对B: 错正确答案:(判断题)8: 解释执行的效率比编译器生成的机器代码的执行效率高。
A: 对B: 错正确答案:(判断题)9: 类型检查是一种捕捉程序中不一致性的成熟并且有效的技术。
A: 对B: 错(判断题)10: 类型检查技术不能用于捕捉多种安全漏洞。
A: 对B: 错正确答案:(判断题)11: 词法分析器的任务是把构成源程序的字符流翻译成词法记号流。
A: 对B: 错正确答案:(判断题)12: 词法分析难以发现源程序的错误,因为词法分析器对源程序采取非常局部的观点。
A: 对B: 错正确答案:(判断题)13: 字母表上的串是该字母表符号的有穷序列。
A: 对B: 错正确答案:(判断题)14: 术语语言表示字母表上的一个串集,属于该语言的串称为该语言的句子或字。
A: 对B: 错正确答案:(判断题)15: 对于连接运算而言,空串是一个恒等元素。
A: 对B: 错正确答案:(单选题)16: ( )不是编译程序的组成部分。
A: 词法分析程序B: 代码生成程序C: 设备管理程序D: 语法分析程序正确答案:(单选题)17: 编译的各阶段工作都涉及( )。
A: 符号表管理B: 词法分析C: 语法分析正确答案:(单选题)18: 下面对编译程序分为“遍”描述正确的是( )。
编译原理习题及答案

( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 10.× 22.√
) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 11.
二、填空题: 2.编译过程可分为 ( 词法分析) , (语法分析) , (语义分析与中间代码生成 ) , (优化)和(目标 代码生成 )五个阶段。 3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是( 二义性的 4.从功能上说,程序语言的语句大体可分为( 5.语法分析器的输入是( 单词符号 6.扫描器的任务是从( 源程序中 执行性 )语句和(说明性 ) 。 ) 。 ) ,其输出是( 语法单位 )中识别出一个个( 单词符号 ) 。 )语句两大类。
因此,文法 G[为二义文法。
五.计算题(10 分) 已知文法 A->aAd|aAb| ε
判断该文法是否是 SLR(1) 文法,若是构造相应分析表,并对输入串 ab# 给出分析过程。 解:增加一个非终结符 S/后,产生原文法的增广文法有: S'->A A->aAd|aAb|ε 下 面 构 造 它 的 LR(0) 项 目 集 规 范 族 为 :
对输入串 ab#给出分析过程为:
一、是非题:
1.一个上下文无关文法的开始符,可以是终结符或非终结符。 2.一个句型的直接短语是唯一的。 3.已经证明文法的二义性是可判定的。 4.每个基本块可用一个 DAG 表示。 5.每个过程的活动记录的体积在编译时可静态确定。 6.2 型文法一定是 3 型文法。 7.一个句型一定句子。 8.算符优先分析法每次都是对句柄进行归约。 X 9.采用三元式实现三地址代码时,不利于对中间代码进行优化。 10.编译过程中,语法分析器的任务是分析单词是怎样构成的。 11.一个优先表一定存在相应的优先函数。 13.递归下降分析法是一种自下而上分析法。 14.并不是每个文法都能改写成 LL(1)文法。 15.每个基本块只有一个入口和一个出口。 16.一个 LL(1)文法一定是无二义的。 17.逆波兰法表示的表达试亦称前缀式。 18.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。 19.正规文法产生的语言都可以用上下文无关文法来描述。 20.一个优先表一定存在相应的优先函数。 21.3 型文法一定是 2 型文法。 22.如果一个文法存在某个句子对应两棵不同的语法树, 则文法是二义性的。 答案:1.× 12.√ 13.× 2.× 14.√ 3.× 15.√ 4.√ 16.√ 5.√ 17.× 6.× × 18.√ 19.√ 20.× 21.√ 7.× 8.× 9.√ X 12.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。
编译原理考试练习题-西安交通大学网络教育学院

2019年春季《编译原理》在线作业一、单选题(共30 道试题,共60 分。
)V 1. 如果一个编译程序能产生不同于其宿主机的机器代码,则称它为:()A. 诊断编译程序B. 优化编译程序C. 交叉编译程序D. 可变目标编译程序正确答案:C 满分:2 分2. 对应于产生式A→XY继承属性Y.y的属性计算,可能正确的语义规则是()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)正确答案:C 满分:2 分3. 表达式作为实在参数可以传递给被调用的过程,替换过程体中的()A. 局部变量B. 形式参数C. 全局变量D. 实在参数正确答案:B 满分:2 分4. 为了便于优化处理,三地址代码可以表示成()A. 三元式B. 四元式C. 后缀式D. 间接三元式正确答案:D 满分:2 分5. 程序语言的单词符号一般可以分为5种,下面()不需要超前搜索A. 关键字B. 标识符C. 常数D. 算符和界符正确答案:D 满分:2 分6. 在编译过程中,符号表的主要作用是()A. 帮助错误处理B. 辅助语法错误的检查C. 辅助语义的正确性检查D. 辅助代码生成E. 辅助对目标程序的优化正确答案:B 满分:2 分7. LR语法分析栈中存放的状态是识别()的DFA状态A. 前缀B. 可归前缀C. 项目D. 句柄正确答案:B 满分:2 分8. Fortran语言的编译程序采用()分配策略A. 静态B. 最佳C. 堆式动态D. 栈式动态正确答案:A 满分:2 分9. 使用三元式是为了:()A. 便于代码优化处理B. 避免把临时变量填入符号表C. 节省存储代码的空间D. 提高访问代码的速度正确答案:B 满分:2 分10. 合并表达式中常量运算的目的是()A. 使表达式中的常量尽可能少B. 是表达式尽可能简短C. 将可在编译时刻计算的常量运算在编译时刻计算出来,然后用所计算出来的值替换表达式中出现的所有这种常量运算,使得生成的代码指令尽可能少D. 以上都是正确答案:D 满分:2 分11. 从左线性文法构造有限自动机时,通常自动机状态个数比文法非终结符号数多()A. 4B. 2C. 0D. 1正确答案:D 满分:2 分12. 程序基本块是指()A. 一个子程序B. 一个仅有一个入口和一个出口的语句C. 一个没有嵌套的程序段D. 一组顺序执行的程序段,仅有一个入口和一个出口正确答案:D 满分:2 分13. 设G是一个文法,S是开始符号。
北语19春《编译原理》作业3

(单选题)1: 编译程序是将高级语言程序翻译成( )。
A: 高级语言程序B: 机器语言程序C: 汇编语言程序D: 汇编语言或机器语言程序标准答题:(单选题)2: 汇编程序是将汇编语言程序翻译成()。
A: 高级语言程序B: 机器语言程序C: 汇编语言程序D: 汇编语言或机器语言程序标准答题:(单选题)3: _____是一种典型的解释型语言。
A: BASICB: CC: FORTRAND: PASCAL标准答题:(单选题)4: 编写一个计算机高级语言的源程序后,到正式上机运行之前,一般要经过_____这几步: (1) 编辑 ? (2) 编译 ? (3) 连接 ? (4) 运行A: (1)(2)(3)(4)B: (1)(2)(3)C: (1)(3)D: (1)(4)标准答题:(单选题)5: 文法 G 所描述的语言是_____的集合。
A: 文法 G 的字母表 V 中所有符号组成的符号串B: 文法 G 的字母表 V 的闭包 V* 中的所有符号串C: 由文法的开始符号推出的所有终结符串D: 由文法的开始符号推出的所有符号串标准答题:(单选题)6: _____和代码优化部分不是每个编译程序都必需的。
A: 语法分析B: 中间代码生成C: 词法分析D: 目标代码生成标准答题:(多选题)7: 运行时的存储区常常划分为:()B: 静态数据区C: 栈区D: 堆区标准答题:(多选题)8: 四元式是一种比较普遍采用的中间代码形式,它的四个组成成分是()。
A: 算法opB: 第一运算对象ARG1C: 第二运算对象ARG2D: 运算结果RESULT标准答题:(多选题)9: 在编译过程中,语法分析器的任务是( )。
A: 分析单词是怎样构成的B: 分析单词串是如何构成语句和说明的C: 分析语句和说明是如何构成程序的D: 分析程序的结构标准答题:(多选题)10: 通常编译过程分成前端和后端,其中前端包括(),后端包括目标代码生成A: 语法分析B: 语义分析C: 中间代码生成D: 词法分析标准答题:(判断题)11: 如果一个数组所需要的存储空间的大小在编译时就已知道,则称此数组是动态数组。
编译原理

《编译原理》课后习题答案第 1 章引论第 1 题解释下列术语:(1)编译程序(2)源程序(3)目标程序(4)编译程序的前端(5)后端(6)遍(1)编译程序:如果源语言为高级语言,目标语言为某台计算机上的汇编语言或机器语言,则此翻译程序称为编译程序。
(2)源程序:源语言编写的程序称为源程序。
(3)目标程序:目标语言书写的程序称为目标程序。
(4)编译程序的前端:它由这样一些阶段组成:这些阶段的工作主要依赖于源语言而与目标机无关。
通常前端包括词法分析、语法分析、语义分析和中间代码生成这些阶段,某些优化工作也可在前端做,也包括与前端每个阶段相关的出错处理工作和符号表管理等工作。
(5)后端:指那些依赖于目标机而一般不依赖源语言,只与中间代码有关的那些阶段,即目标代码生成,以及相关出错处理和符号表操作。
(6)遍:是对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。
第 2 题一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么?并画出编译程序的总体结构图。
一个典型的编译程序通常包含 8 个组成部分,它们是词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、中间代码优化程序、目标代码生成程序、表格管理程序和错误处理程序。
其各部分的主要功能简述如下。
词法分析程序:输人源程序,拼单词、检查单词和分析单词,输出单词的机内表达形式。
语法分析程序:检查源程序中存在的形式语法错误,输出错误处理信息。
语义分析程序:进行语义检查和分析语义信息,并把分析的结果保存到各类语义信息表中。
中间代码生成程序:按照语义规则,将语法分析程序分析出的语法单位转换成一定形式的中间语言代码,如三元式或四元式。
中间代码优化程序:为了产生高质量的目标代码,对中间代码进行等价变换处理。
目标代码生成程序:将优化后的中间代码程序转换成目标代码程序。
表格管理程序:负责建立、填写和查找等一系列表格工作。
表格的作用是记录源程序的各类信息和编译各阶段的进展情况,编译的每个阶段所需信息多数都从表格中读取,产生的中间结果都记录在相应的表格中。
北语网院19春《编译原理》作业_1234答案

19春《编译原理》作业_11.[单选题]在 LR 分析法中,分析栈中存放的状态是识别规范句型_____的 DFA 状态。
A.句柄B.前缀C.活前缀D.LR(0) 项目2.[单选题]下面关于解释程序的描述正确的是_____。
(1) 解释程序的特点是处理程序时不产生目标代码(2) 解释程序适用于COBOL和FORTRAN语言(3)解释程序是为打开编译程序技术的僵局而开发的A.(1)(2)B.(1)C.(1)(2)(3)D.(2)(3)3.[单选题]编译程序绝大多数时间花在_____上。
A.出错处理B.词法分析C.目标代码生成D.管理表格4.[单选题]_____和代码优化部分不是每个编译程序都必需的。
A.语法分析B.中间代码生成C.词法分析D.目标代码生成5.[单选题]将编译程序分成若干个"遍"是为了( )。
A.提高程序的执行效率B.使程序的结构更加清晰C.利用有限的机器内存并提高机器的执行效率D.利用有限的机器内存但降低了机器的执行效率6.[单选题]<img src="/ots/blcu/eblcuimage/3102.bmp"/>A.(A)B.(B)C.(C)D.(D)7.[单选题]一个文法所描述的语言是_____。
A.唯一的B.不唯一的C.可能唯一,好可能不唯一D.都不对8.[单选题]编写一个计算机高级语言的源程序后,到正式上机运行之前,一般要经过_____这几步: (1) 编辑 (2) 编译 (3) 连接 (4) 运行A.(1)(2)(3)(4)B.(1)(2)(3)C.(1)(3)D.(1)(4)9.[单选题]( )是把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。
A.语法分析B.语义分析C.中间代码生成D.代码优化E.目标代码生成10.[单选题]文法 G 所描述的语言是_____的集合。
A.文法 G 的字母表 V 中所有符号组成的符号串B.文法 G 的字母表 V 的闭包 V* 中的所有符号串C.由文法的开始符号推出的所有终结符串D.由文法的开始符号推出的所有符号串11.[单选题]一个句型中称为句柄的是该句型的最左( )A.非终结符号B.短语C.句子D.直接短语12.[单选题]词法分析器用于识别_____。
编译原理习题及答案(整理后)

5、自下而上的语法分析中,应从 开始分析。 a. 句型 b. 句子 c. 以单词为单位的程序 d. 文法的开始符 e. 句柄 6、对正规文法描述的语言,以下 有能力描述它。 a.0型文法 b.1型文法 c.上下文无关文法 d.右线性文法 e.左线 性文法 三、填空题 1、文法中的终结符和非终结符的交集是 。词法分析器交给语法 分析器的文法符号一定是 ,它一定只出现在产生式的 部。 2、最左推导是指每次都对句型中的 非终结符进行扩展。 3、在语法分析中,最常见的两种方法一定是 分析法,另一是 分析法。 4、采用 语法分析时,必须消除文法的左递归。 5、 树代表推导过程, 树代表归约过程。 6、自下而上分析法采用 、归约、错误处理、 等四种操作。 7、Chomsky把文法分为 种类型,编译器构造中采用 和 文 法,它们分别产生 和 语言,并分别用 和 自动机识别所产 生的语言。 四、判断题 1、文法 S→aS|bR|ε描述的语言是(a|bc)* ( ) R→cS 2、在自下而上的语法分析中,语法树与分析树一定相同。 ( ) 3、二义文法不是上下文无关文法。 ( ) 4、语法分析时必须先消除文法中的左递归。 ( ) 5、规范归约和规范推导是互逆的两个过程。 ( ) 6、一个文法所有句型的集合形成该文法所能接受的语言。 ( ) 五、简答题 1、句柄 2、素短语 3、语法树 4、归约 5、推导 六、问答题 1、给出上下文无关文法的定义。 2、文法G[S]: S→aSPQ|abQ QP→PQ bP→bb
E E + F E + T P T i P #<·+·>+<·i·># 图2-8-1 句型P+T+I的语法及优先关系
6、选c。
7、由图2-8-1的语法树和优先关系可以看出应选b。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【奥鹏】大工19春《编译原理基础》在线作业3
试卷满分:100 试卷得分:100
【作业题目】试探与回溯是一种穷尽一切可能的办法,效率低、代价高,它只有理论意义,在实践中价值不大。
T.对
F.错
[阅读以上试题,分析作答]
-正确答案-:A
【作业题目】预测分析的关键问题是在扩展一个非终结符时怎样为它选择合适的产生式。
T.对
F.错
[阅读以上试题,分析作答]
-正确答案-:A
【作业题目】移进-归约分析为输入串构造分析树是从根结点开始的,朝着叶结点方向前进。
T.对
F.错
[阅读以上试题,分析作答]
-正确答案-:B
【作业题目】句型的句柄是该句型中和一个产生式左部匹配的子串。
T.对
F.错
[阅读以上试题,分析作答]
-正确答案-:B
【作业题目】一个文法,如果能为它构造出所有条目都唯一的LR分析表,就说它是LR文法。
T.对
F.错
[阅读以上试题,分析作答]
-正确答案-:A
【作业题目】语法制导的产生式有多组语义规则。
T.对
F.错
[阅读以上试题,分析作答]。