大工20秋《编译原理基础》在线作业3【标准答案】

合集下载

大连理工大学智慧树知到“计算机科学与技术”《编译原理基础》网课测试题答案3

大连理工大学智慧树知到“计算机科学与技术”《编译原理基础》网课测试题答案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.推导的意思是把产生式看成重写规则,把符号串中的非终结符用其产生式右部的串来代替。

编译原理习题及答案1~3

编译原理习题及答案1~3

《编译原理教程》习题解析
23
图2-4 图2-3化简后的DFA M′
《编译原理教程》习题解析
24
2.4 正规式(ab)*a与正规式a(ba)*是否等价?请 说明理由。
【解答】 正规式(ab)*a对应的NFA如图2-5所 示,正规式a(ba) *对应的NFA如图2-6所示。
用子集法将图2-5和图2-6分别确定化为如图27(a)和(b)所示的状态转换矩阵,它们最终都可以 得到最简DFA,如图2-8所示。因此,这两个正规 式等价。
由f的定义可知f(x,a)、f(y,b)均为多值函数,因此M
是一非确定有限自动机。
先画出NFA M相应的状态图,如图2-2所示。
《编译原理教程》习题解析
20
图2-2 习题2.3的NFA M
《编译原理教程》习题解析
21
用子集法构造状态转换矩阵,如表2-1所示。
表2-1 状态转换矩阵
I
Ia
Ib
{x}
《编译原理教程》习题解析
6
(4) 编译各阶段的工作都涉及到构造、查找或更新有 关表格,即编译过程的绝大部分时间都用在造表、查表和 更新表格的事务上。故选D。
(5) 由(1)可知,编译程序实际上实现了对高级语言程 序的翻译。故选D。
《编译原理教程》习题解析
7
1.2 计算机执行用高级语言编写的程序有哪些途径?它们 之间的主要区别是什么?
这两种途径的主要区别在于:解释方式下不生成目 标代码程序,而编译方式下生成目标代码程序。
《编译原理教程》习题解析
9
1.3 请画出编译程序的总框图。如果你是一个编译程 序的总设计师,设计编译程序时应当考虑哪些问题?
【解答】 编译程序总框图如图1-1所示。 作为一个编译程序的总设计师,首先要深刻理解被编 译的源语言其语法及语义;其次,要充分掌握目标指令的 功能及特点,如果目标语言是机器指令,还要搞清楚机器 的硬件结构以及操作系统的功能;第三,对编译的方法及 使用的软件工具也必须准确化。总之,总设计师在设计编 译程序时必须估量系统功能要求、硬件设备及软件工具等 诸因素对编译程序构造的影响。

编译原理3答案

编译原理3答案

编译原理3答案【篇一:编译原理试题及答案3】填空题:1、编译方式与解释方式的根本区别在于(是否生成目标代码)。

2、对编译程序而言,输入数据是(源程序),输出结果是(目标程序)。

3、如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为两大阶段:(编译阶段)和(运行阶段)。

4、如果编译程序生成的目标程序是汇编语言程序,则源程序的执行分成三个阶段:(编译阶段)、(汇编阶段)和(运行阶段)。

5、自顶向下语法分析方法会遇到的主要问题有(回溯)和((左递归带来的)无限循环)。

6、ll(k)分析法中,第一个l的含义是(从左到右进行分析),第二个l的含义是(每次进行最左推导),“k”的含义是(向输入串中查看k个输入符号)。

7、ll(1)分析法中,第一个l的含义是(从左到右进行分析),第二个l的含义是(每次进行最左推导),“1”的含义是(向输入串中查看1个输入符号)。

8、自顶向下语法分析方法的基本思想是:从(识别符号)出发,不断建立(直接推导),试图构造一个推导序列,最终由它推导出与输入符号相同的(符号串)。

9、自底向上语法分析方法的基本思想是:从待输入的符号串开始,利用文法的规则步步向上进行(直接归约),试图(归约)到文法的(识别符号|开始符号)。

10、lr(0)分析法的名字中,“l”的含义是(从左到右进行分析),“r”的含义是(采用最右推导的逆过程---最左归约),“0”的含义是(向貌似句柄的符号串后查看0个输入符号)。

11、lr(1)分析法的名字中,“l”的含义是(从左到右进行分析),“r”的含义是(采用最右推导的逆过程---最左归约),“1”的含义是(向貌似句柄的符号串后查看1个输入符号)。

12、slr(1)分析法的名字中,“s”的含义是(简单的),“l”的含义是(从左到右进行分析),“r”的含义是(采用最右推导的逆过程---最左归约),“1”的含义是(向貌似句柄的符号串后查看1个输入符号)。

13、在编译过程中,常见的中间语言形式有(逆波兰表示)、(三元式)、(四元式)和(树形表示)。

2020秋《编译原理》试题及参考答案

2020秋《编译原理》试题及参考答案

《编译原理》参考资料一、单选题1.现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个(C)把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。

A.重定位程序B.解释程序C.连接装配程序D.诊断程序2.一个句型中的( A)称为该句型的句柄。

A.最左直接短语B.最右直接短语C.终结符D.非终结符3.将编译程序分成若干个“遍”是为了(B)。

A.提高程序的执行效率B.使程序的结构更加清晰C.利用有限的机器内存并提高机器的执行效率D.利用有限的机器内存但降低了机器的执行效率4.语法分析器接收以(C)为单位的输入,并产生有关信息供以后各阶段使用。

A.表达式B.产生式C.单词D.语句5.词法分析器用于识别(C )A.句子B.产生式C.单词D.句型6.语言的词法规则一般用Chomsky的(D)型文法来描述A.0B.1C.2D.37.由文法的开始符经0步或多步推导产生的文法符号序列是(C)。

A.短语B.句柄C.句型D.句子8.LR(k)文法(A )A.都是无二义性的B.都是二义性的C.一部分是二义性的D.无法判定9.Chomsky把文法分成四种类型,其中,(D)也称正规文法A.0型B.1型C.2型D.3型10.( C)不是编译程序的组成部分。

A.词法分析程序B.代码生成程序C.设备管理程序D.语法分析程序11.编译程序绝大多数时间花在(D)上。

A.出错处理B.词法分析C.目标代码生成D.管理表12.设G为算符优先文法,G的任意终结符对a、b有以下关系成立(C)。

A.若f(a)>g(b),则a>bB.若f(a)<g(b),则a<bC.a~b都不一定成立D.a~b一定成立13.使用(A)可以定义一个程序的意义。

A.语义规则B.词法规则C.产生规则D.词法规则14.在运行空间的划分中有一个单独的区域叫堆,用来存放(C)。

北语20秋《编译原理》作业3【标准答案】

北语20秋《编译原理》作业3【标准答案】

北语20秋《编译原理》作业3【标准答案】
20秋《编译原理》作业3
试卷总分:100 得分:100
一、单选题 (共 1 道试题,共 5 分)
1.表达式(┐A∨B)∧(C∨D)的逆波兰表示为_____。

A.┐AB∨∧CD∨
B.A┐B∨CD∨∧
C.AB∨┐CD∨∧
D.A┐B∨∧CD∨
答案:B
二、多选题 (共 2 道试题,共 10 分)
2.一个LR(1) 项目可以看成()两个部分组成。

A.心
B.向前搜索符集合
C.分析表
D.分析函数
答案:AB
3.一个LR分析器由()组成。

A.驱动程序
B.分析函数
C.分析栈
D.向前搜索符集合
答案:ABC
三、判断题 (共 17 道试题,共 85 分)
4.在编译方式下执行源程序,易于查错,在程序执行中可以修改程序,但执行效率低。

答案:错误
5.两个正规集相等的必要条件是他们对应的正规式等价。

( )
答案:错误
6.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。

( )
答案:错误
7.一个LR分析器由3个部分组成,其中分析表或分析函数,也可以称为驱动程序。

答案:错误
8.题目见图片{图}
答案:错误
9.静态数据区用于可变数据以及管理过程活动的控制信息。

答案:错误。

西北工业大学20年最新机考《编译原理》参考资料

西北工业大学20年最新机考《编译原理》参考资料

一、单选题(共27道试题,共54分)1.35.简单优先分析法每次都是对()进行归约。

A.短语B.直接短语C.句柄D.最左素短语正确答案:C2.3.下而哪个工具用来自动生成词法分析程序()。

A.LEXB.YACCC.OCCSD 丄 Iama正确答案:A3.34.把髙级语言程序翻译成机器可执行的目标程序的工作是由()完成的。

A.编译程序B.汇编程序C.解释程序D.预处理程序正确答案:202, 690, 78974•两个有穷自动机等价是指它们的()。

A.状态数相等B.有向弧数相等C.所识别的语言相等D •状态数和有向弧数相等5・33・算符优先分析法每次都是对()进行归约。

A.直接短语B.句柄C.素短语D •最左素短语6.3&已知文法G:SfWZWfXIYXfalaXYfblbYZfC∣cZ, G左义的语言的相应正规式为 ()oA.aa* I bb* I cc*B.(aa* I bb*) cc*C.aa*(bb* ∣ cc*)D.{a I b I c)*7.27.设数组A[l∙∙20, 1-10]首地址偏移量为6并且数组是按列存放的,每个元素占一个字节,存储器按字节编址,则偏移地址为()。

A.(i-l) *10+ (j-l)B.(M) *20+ (J-I)C.(M) + (j-l) *10D.(M) + (j-l) *208・词法分析器用于识别()。

A •句子B.产生式C •单词D •句型9.11.把髙级语言程序翻译成机器可执行的目标程序的工作是由()完成的。

A.编译程序B.汇编程序C.解释程序D •预处理程序Un8・LR (K)分析方法是()。

A.从左到右每次走K步的分析法B.从左到右共经过K步的分析法C.从左到右每次向前预测K步的分析法D・从左到右每次向前看K个输入符号的分析法口・39・一个文法是递归的,则它产生的语言的句子个数()。

A.必定无穷B.必建有限C.可能无穷,也可能有限D・说不准12.12. 一个3型语言是无穷的,则识别它的FA ()。

大工20秋《编译原理基础》在线作业1答卷

大工20秋《编译原理基础》在线作业1答卷

大工20秋《编译原理基础》在线作业1
试卷总分:100 得分:100
一、判断题(共15 道试题,共75 分)
1.编译器是一种翻译器,它的特点是目标语言比源语言低级。

本题标准答案:正确
2.语法树的子结点代表该运算的运算对象。

本题标准答案:正确
3.语义分析的一个重要部分是类型检查,编译器检查每个算符的运算对象,看它们的类型是否适当。

本题标准答案:正确
4.语言定义不允许运算对象的类型作隐式转换。

本题标准答案:错误
5.代码生成是指取源程序的一种中间表示作为输入并把它映射到一种目标语言。

本题标准答案:正确
6.符号表是为每个变量名字保存一个记录的数据结构,记录的域是该名字的属性。

本题标准答案:正确
7.解释器可以通过翻译来生成目标程序。

本题标准答案:错误
8.解释执行的效率比编译器生成的机器代码的执行效率高。

本题标准答案:错误
9.类型检查是一种捕捉程序中不一致性的成熟并且有效的技术。

本题标准答案:正确
10.类型检查技术不能用于捕捉多种安全漏洞。

本题标准答案:错误
11.词法分析器的任务是把构成源程序的字符流翻译成词法记号流。

本题标准答案:正确
12.词法分析难以发现源程序的错误,因为词法分析器对源程序采取非常局部的观点。

本题标准答案:正确
13.字母表上的串是该字母表符号的有穷序列。

本题标准答案:正确
14.术语语言表示字母表上的一个串集,属于该语言的串称为该语言的句子或字。

编译原理

编译原理

《编译原理》课后习题答案第 1 章引论第 1 题解释下列术语:(1)编译程序(2)源程序(3)目标程序(4)编译程序的前端(5)后端(6)遍(1)编译程序:如果源语言为高级语言,目标语言为某台计算机上的汇编语言或机器语言,则此翻译程序称为编译程序。

(2)源程序:源语言编写的程序称为源程序。

(3)目标程序:目标语言书写的程序称为目标程序。

(4)编译程序的前端:它由这样一些阶段组成:这些阶段的工作主要依赖于源语言而与目标机无关。

通常前端包括词法分析、语法分析、语义分析和中间代码生成这些阶段,某些优化工作也可在前端做,也包括与前端每个阶段相关的出错处理工作和符号表管理等工作。

(5)后端:指那些依赖于目标机而一般不依赖源语言,只与中间代码有关的那些阶段,即目标代码生成,以及相关出错处理和符号表操作。

(6)遍:是对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。

第 2 题一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么?并画出编译程序的总体结构图。

一个典型的编译程序通常包含 8 个组成部分,它们是词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、中间代码优化程序、目标代码生成程序、表格管理程序和错误处理程序。

其各部分的主要功能简述如下。

词法分析程序:输人源程序,拼单词、检查单词和分析单词,输出单词的机内表达形式。

语法分析程序:检查源程序中存在的形式语法错误,输出错误处理信息。

语义分析程序:进行语义检查和分析语义信息,并把分析的结果保存到各类语义信息表中。

中间代码生成程序:按照语义规则,将语法分析程序分析出的语法单位转换成一定形式的中间语言代码,如三元式或四元式。

中间代码优化程序:为了产生高质量的目标代码,对中间代码进行等价变换处理。

目标代码生成程序:将优化后的中间代码程序转换成目标代码程序。

表格管理程序:负责建立、填写和查找等一系列表格工作。

表格的作用是记录源程序的各类信息和编译各阶段的进展情况,编译的每个阶段所需信息多数都从表格中读取,产生的中间结果都记录在相应的表格中。

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

大工20秋《编译原理基础》在线作业3
试卷总分:100 得分:100
一、判断题 (共 15 道试题,共 75 分)
1.试探与回溯是一种穷尽一切可能的办法,效率低、代价高,它只有理论意义,在实践中价值不大。

答案:正确
2.预测分析的关键问题是在扩展一个非终结符时怎样为它选择合适的产生式。

答案:正确
3.移进-归约分析为输入串构造分析树是从根结点开始的,朝着叶结点方向前进。

答案:错误
4.句型的句柄是该句型中和一个产生式左部匹配的子串。

答案:错误
5.一个文法,如果能为它构造出所有条目都唯一的LR分析表,就说它是LR文法。

答案:正确
6.语法制导的产生式有多组语义规则。

答案:错误
7.属性文法是指语义规则函数无副作用的语法制导定义。

答案:正确
8.仅仅使用综合属性的语法制导定义称为S属性定义。

答案:正确
9.每个结点的属性值都标注出来的分析树叫做注释分析树。

答案:正确
10.过程定义是一个声明,它的最简单形式是将一个名字和一个语句联系起来,该名字是过程名,而这个语句是过程体。

答案:正确
11.过程名出现在调用语句中则称这个过程在该点被调用。

答案:正确
12.出现在过程定义中的某些名字是特殊的,它们被称为该过程的形式参数,简称形参。

答案:正确
13.一个声明起作用的程序部分称为该声明的作用域。

答案:正确。

相关文档
最新文档