大工20秋《编译原理基础》在线作业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
《编译原理教程》习题解析
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】填空题: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秋《编译原理》试题及参考答案
《编译原理》参考资料一、单选题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
试卷总分: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年最新机考《编译原理》参考资料
一、单选题(共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
试卷总分: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、将编译程序分成多少个“遍”是为了.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.等价变换规则9、编译程序是对.a.汇编程序的翻译b.高级言语程序的解释执行c.机器言语的执行d.高级言语的翻译10、语法分析应遵照.a.语义规则b.语法规则c.构词规则d.等价变换规则二、多项选择题1、编译程序各阶段的工作都触及到.a.语法分析b.表格管理c.出错处理d.语义分析e.词法分析2、编译程序工作时,通常有阶段.a.词法分析b.语法分析c.两头代码生成d.语义检查e.目的代码生成三、填空题1、解释程序和编译程序的区别在于.2、编译过程通常可分为5个阶段,分别是、语法分析、代码优化和目的代码生成.3、编译程序工作过程中,第一段输入是,末了阶段的输入为程序.4、编译程序是指将程序翻译成程序的程序.单选解答1、将编译程序分成多少个“遍”是为了使编译程序的结构愈加明晰,故选b.2、构造编译程序应掌握源程序、目口号言及编译方法等三方面的学问,故选d.3、对编译而言,变量既持有左值又持有右值,故选c.4、编译程序打交道最多的就是各种表格,因此选d.5、目的代码包含汇编指令代码、可重定位指令代码和尽对指令代码3种,因此不是目的代码的只能选d.6、词法分析遵照的是构词规则,语法分析遵照的是语法规则,两头代码生成遵照的是语义规则,而且语义规则可以定义一个程序的意义.因此选a.7、b 8、c 9、d 10、c多选解答1.b、c 2. a、b、c、e填空解答能否生成目的程序 2、词法分析两头代码生成 3、源程序目的代码生成4、源程序目口号言第二章一、单项选择题1、文法G:S→xSx|y所识此外言语是.n yx n(n≥0) d.x*yx*2、文法G描绘的言语L(G)是指.a. L(G)={α|S+⇒α, α∈V T*}b. L(G)={α|S*⇒α, α∈V T*}c. L(G)={α|S*⇒α,α∈(V T∪V N*)}d. L(G)={α|S+⇒α,α∈(V T∪V N*)}3、无限形态自动机能辨认.a. 上下文有关文法b. 上下文有关文法c.正轨文法d. 短语文法4、设G为算符优先文法,G的恣意闭幕符对a、b有以下关系成立.a. 若f(a)>g(b),则a>bb.若f(a)<g(b),则a<bc. a~b都纷歧定成立d.a~b一定成立5、假如文法G是无二义的,则它的任何句子α.a. 最左推导和最右推导对应的语法树一定相反b. 最左推导和最右推导对应的语法树可能分歧c. 最左推导和最右推导一定相反d. 可能存在两个分歧的最左推导,但它们对应的语法树相反6、由文法的开始符经0步或多步推导发生的文法符号序列是.a. 短语b.句柄c. 句型d. 句子7、文法G:E→E+T|TT→T*P|PP→(E)|I则句型P+T+i的句柄和最左素短语为.a.P+T和i和P+T 和P+T+id.P和T8、设文法为:S→SA|AA→a|b则对句子aba,下面是规范推导.ÞSAÞSAAÞAAAÞaAAÞabAÞabab. SÞSAÞSAAÞAAAÞAAaÞAbaÞabac. SÞSAÞSAAÞSAaÞSbaÞAbaÞabad. SÞSAÞSaÞSAaÞSbaÞAbaÞaba9、文法G:S→b|∧(T)T→T,S|S则FIRSTVT(T).a. {b,∧,(}b. {b,∧,)}c.{b,∧,(,,}d.{b,∧,),,}10、发生正轨言语的文法为.型 b. 1型 c. 2型 d. 3型11、采取自上而下分析,必须.a. 消弭左递回b. 消弭右递回c. 消弭回溯d. 提取公共左因子12、在规范回约中,用来刻画可回约串.a. 直接短语b. 句柄c. 最左素短语d. 素短语13、有文法G:E→E*T|TT→T+i|i句子1+2*8+6按该文法G回约,其值为.a. 23 B. 42 c. 30 d. 1714、规范回约指.a. 最左推导的逆过程b. 最右推导的逆过程c. 规范推导d.最左回约的逆过程二、多项选择题1、下面哪些说法是错误的.a. 有向图是一个形态转换图b. 形态转换图是一个有向图c.有向图是一个DFAd.DFA可以用形态转换图暗示2、对无二义性文法来说,一棵语法树每每代表了.a. 多种推导过程b. 多种最左推导过程c.一种最左推导过程d.仅一种推导过程e.一种最左推导过程3、假如文法G存在一个句子,满足下列条件之一时,则称该文法是二义文法.a. 该句子的最左推导与最右推导相反b. 该句子有两个分歧的最左推导c. 该句子有两棵分歧的最右推导d. 该句子有两棵分歧的语法树e.该句子的语法树只要一个4、有一文法G:S→ABA→aAb|εB→cBd|ε它不发生下面集合.a. {a n b m c n d m|n,m≥0}b. {a n b n c m d m|n,m>0}c. {a n b m c m d n|n,m≥0}d. {a n b n c m d m|n,m≥0}e. {a n b n c n d n|n≥0}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→c S2、在自下而上的语法分析中,语法树与分析树一定相反.()3、二义文法不是上下文有关文法. ()4、语法分析时必须先消弭文法中的左递回.()5、规范回约和规范推导是互逆的两个过程.()6、一个文法全部句型的集合构成该文法所能接受的言语.()五、简答题1、句柄2、素短语3、语法树4、回约5、推导六、问答题1、给出上下文有关文法的定义.2、文法G[S]:S→aSPQ|abQQP→PQbP→bbbQ→bccQ→cc(1)它是Chomsky哪一型文法?(2)它生成的言语是什么?3、按指定类型,给出言语的文法.L={a i b j|j>i≥1}的上下文有关文法.4、有文法G:S→aAcB|BdA→AaB|cB →bScA|b(1)试求句型aAaBcbbdcc 和aAcbBdcc 的句柄; (2)写出句子acabcbbdcc 的最左推导过程.5、对于文法G[S]:S →(L )|aS|aL →L, S|S(1)画出句型(S,(a ))的语法树.(2)写出上述句型的全部短语、直接短语、句柄和素短语. 6、考虑文法G[T]:T →T*F|F F →F ↑P|P P →(T )|i证明T*P ↑(T*F )是该文法的一个句型,并指出直接短语和句柄. 单选[解答] 1、选c.2、选a.3、选c.4、虽然a 与b 没有优先关系,但构造优先函数后,a 与b 就一定存在优先关系了.以是,由f(a)>g)(b)或f(a)<g(b)其实不克不及断定原来的a 与b 之间能否存在优先关系:故选c.5、假如文法G 无二义性,则最左推导是老师长左边的枝叶:对于d6、选c.7、由图2-8-18、规范推导是最左推导,故选d.9、由T →T,…和T →(… 得 由T →S 得FIRSTVT(S)⊂∧,(};即FIRSTVT(T)={b,∧,(,,}; 10、d 11、c 12、b 13、b 14、b多选解答 1、e 、a 、c 2、a 、c 、e 3、、a 、b 、c 、d 、e填空解答 1、空集 闭幕符 右 2、最左3、自上而上 自下而上4、自上而上5、语法 分析6、移进 接受7、4 2 型 3型 上下文有关言语 正轨言语 下推自动机 无限 判别解答 1、对 2、错 3、错 4、错 5、错 6、错 简答[解答]1、句柄:一个句型的最左直接短语称为该句型的句柄.2、素短语:至多含有一个闭幕符的素短语,而且除它本身之外不再含任何更小的素短语.3、语法树:满足下面4个条件的树称之为文法G[S]的一棵语法树. ①每一闭幕均有一标识表记标帜,此标识表记标帜为V N ∪V T 中的一个符号;②树的根结点以文法G[S]的开始符S 标识表记标帜;③若一结点至多有一个直接后继,则此结点上的标识表记标帜为V N 中的一个符号;④若一个以A 为标识表记标帜的结点有K 个直接后继,且按从左至右的顺序,这些结点的标识表记标帜分别为X 1,X 2,…,X K ,则A→X 1,X 2,…,X K ,必定是G 的一个发生式.4、回约:我们称αγβ直接回约出αAβ,仅当A→γ是一个发生式,且α、β∈(V N∪V T)*.回约过程就是从输入串开始,反复用发生式右部的符号更换成发生式左部符号,直至文法开始符.5、推导:我们称αAβ直接推出αγβ,即αAβÞαγβ,仅当A→γ是一个发生式,且α、β∈(V N∪V T)*.假如α1Þα2Þ…Þαn,则我们称这个序列是从α1至α2的一个推导.若存在一个从α1αn的推导,则称α1可推导出αn.推导是回约的逆过程.问答1[解答]一个上下文有关文法G是一个四元式(V T,V N,S, P),其中:●V T是一个非空无限集,它的每个元素称为闭幕符号;●V N是一个非空无限集,它的每个元素称为非闭幕符号,V T∩V N=Φ;●S是一个非闭幕符号,称为开始符号;●P是一个发生式集合(无限),每个发生式的方式是P→α,其中,P∈V N,α∈(V T∪V N)*.开始符号S至多必须在某个发生式的左部出现一次.2[解答](1)由于发生式左部存在闭幕符号,且全部发生式左部符号的长度均小于等于发生式右部的符号长度,以是文法G[S]是Chomsky1型文法,即上下文有关文法.(2)按发生式出现的顺序规定优先级由高到低(否则无法推出句子),我们可以得到:SÞabQÞabcSÞaSPQÞaabQPQÞaabPQQÞaabbQQÞaabbcQÞaabbccSÞaSPQÞaaSPQPQÞaaabQPQPQÞaaabPQQPQÞaaabPQPQQÞaaaPP QQQÞaaabbPqqqÞaaabbQQQÞaaabbbcQQÞaaabbbccQÞaaabbbccc……于是得到文法G[S]生成的言语L={a n b n c n|n≥1}3【解答】(1)由L={a i b j|j>i≥1}知,所求该言语对应的上下文有关文法首先应有S→aSb型发生式,以包管b的个数很多于a的个数;其次,还需有S→Sb或S→bS型的发生式,用以包管b的个数多于a的个数;也即所求上下文有关文法G[S]为:G[S]:S→aSb|Sb|b4【解答】(1)分别画出对应两句型的语法树,如图2-8-2所示句柄:AaB BdÞ5((6【解答】 首先构造T*P ↑(T*F 由图2-8-4可知,T*P ↑(T*F 直接短语有两个,即P 和T*F 第三章 一、单项选择题1、词法分析所根据的是. a. 语义规则 b. d. 等价变换规则2、词法分析器的输入结果是.a. 单词的种别编码b. 单词在符号表中的地位c. 单词的种别编码和本身值d. 单词本身值3、正轨式M 1和M 2等价是指.a. M 1和M 2的形态数相称b. M 1和M 2的有向弧条数相称c. M 1和M 2所识此外言语集相称d. M 1和M 2形态数和有向弧条数相称4、形态转换图(见图3-6-1)接受的字集为.a. 以 0b. 以0结尾的二进制数组成的集合 c. d. 含偶数个0的二进制数组成的集合 5白,因此,. a. 词法分析器作为子程序较好c. 词法分析器分解为多个过程,由语法分析器选择运用d. 词法分析器其实不作为一个独立的阶段 二、多项选择题1、在词法分析中,能辨认出. a. 基本字 b. 四元式 c. 运算符 d. 逆波兰式 e. 常数2、令∑={a,b},则∑上全部以b 扫尾,后跟多少个ab 的字的全体对应的正轨式为.a.b(ab)*b. b(ab)+c.(ba)*bd. (ba)+b e. b(a|b) 三、填空题1、确定无限自动机DFA 是的一个特例.2、若二个正轨式所暗示的相反,则以为二者是等价的.3、一个字集是正轨的,当且仅当它可由所. 四、判别题1、一个无限形态自动机中,有且仅有一个独一终态. ( )2、设r 和s 分别是正轨式,则有L (r|s )=L(r)|L(s). ( )3、自动机M 和M ′的形态数分歧,则二者必不等价. ( )4、确定的自动机以及不确定的自动机都能正确地辨认正轨集. ( )5、对恣意一个右线性文法G ,都存在一个NFA M ,满足L(G)=L(M). ( )6、对恣意一个右线性文法G ,都存在一个DFA M ,满足L(G)=L(M). ( )7、对任何正轨表达式e ,都存在一个NFA M ,满足L(G)=L(e). ( )8、对任何正轨表达式e ,都存在一个DFA M ,满足L(G)=L(e). ( ) 五、基本题1、设M =({x,y}, {a,b}, f,x,{y})为一非确定的无限自动机,其中f 定义如下:图3-6-7 的NFA Mf (x,a )={x,y} f (x,b )={y} f (y,a )=φ f (y,b )={x,y}试构造相应的确定无限自动机M ′.2、对给定正轨式b*(d|ad )(b|ab )+,构造其NFA M ; 单选解答 1、b 2、c3、c4、d5、b 多选解答 1、a 、c 、e 2、a 、b 、d填空解答 1、NFA 2、正轨集 3、DFA (NFA )所辨认 判别解答 1 、2、3、错 4、5、6、7、8、正确基本1解答:对照自动机的定义M=(S,Σ,f,S 0,Z),由f 的定义可知将转换矩阵中的全部子集重新命名而构成表3-6-4所示的形态转换矩阵.表3-6-4 形态转换矩阵将图调查{1,2}.{1,2}都导向1所示化简21、 D → T 2、 S →P →3、 G[S]aAbDe|dA →BSD|eB →SAc| cD| εD→Se| ε(1)求出该文法的每一个非闭幕符U的FOLLOW集.(2)该文法是LL(1)文法吗?(3)构造C[S]的LL(1)分析表.4、将文法G[V]改形成为LL(1)的.G[V]:V→N|N[E]E→V|V+EN→i5、已知文法:G[A]:A→aAa|ε(1)该文法是LL(1)文法吗?为什么?(2)若采取LL(1)方法进行语法分析,怎样得到该文法的LL(1)分析表?(3)若输入符号串“aaaa”,请给出语法分析过程.1解答: LL(1)分析表见表4-3-1分析虽然这个文法很简单,我们还是从求开始符号集合和后继符号集合开始.FIRST(D)=FIRST(T)={int, real}FOLLOW(D)=FOLLOW (L)={#}FIRST(L)={id} FOLLOW(T)={id}FIRST(R)={,, ε} FOLLOW(R)={#}有了下面每个非闭幕符的FIRST集合,填分析表时要计算一个发生式右部α的FIRST(α)就不是件难事了.填表时独一要警惕的时,ε是发生式R→ε右部的一个开始符号,而#在FOLLOW(R)中,以是R→ε填在输入符号#的栏目中.2解答:该文法不是LL(1)文法,见下面分析中的阐明.分析只要三个非闭幕符有两个选择.1、P的两个右部d P 和ε 的开始符号一定不相交.2、Q的两个右部a Q 和ε 的开始符号一定不相交.3、对S来说,由于x ∈ FIRST(A B),同时也有x ∈ FIRST(P Q x)(由于P和Q都可能为空).以是该文法不是LL(1)文法.3解答:(1)求文法的每一个非闭幕符U的FOLLOW集的过程如下:由于:①S是辨认符号,且有A→BSD、B→SAc、D→Se,以是FOLLOW(S)应包含FIRST(D)∪FIRST(Ac)∪FIRST(e)∪{#}={a,d}∪{a,d,c,e}∪{e}∪{#}={a,c,d,e#}②又由于A→BSD和D→ε,以是FOLLOW中还包含FOLLOW(A).由于S→aAbDe和B→SAc,以是FOLLOW(A)=FIRST(bDe)∪FIRST(c)={b,c}综合①、②得FOLLOW(S)={a,d,c,e,#}∪{a,b,c,d,e,#}由于A→BSD,以是 FOLLOW(B)=FIRST(SD)={a,d}由于S→aAbDe | d、A→BSD| e和B→SAc | cD,以是FOLLOW(D)=FIRST(e)∪FOLLOW(A)∪FOLLOW (B)={e}∪{b,c}∪{a,d}={a,b,c,d,e}(2)G[S]不是LL(1)文法.由于发生式B→SAc|cD| ε中FIRST(SAc)∩FOLLOW(B)={a,d}≠Ø(3)构造G[S]的LL(1)分析表.按照LL(1)分析表的构造算法构造方法G[S]的LL(1)分析表如表4-3-2所示.4解答:对文法G[V]提取公共左因子后得到文法:G′[V]:V→NAA→ε|[E]E→VBB→ε|+EN→i求出文法G′[V]中每一个非闭幕符号的FIRST集:FIRST(V)={i} FIRST(A)={[,ε}FIRST(E)={i} FIRST(B)={+,ε}FIRST(N)={i}求出文法G′[V]中每一个非闭幕符号的FOLLOW集:FOLLOW(V)={#}∪FIRST(B)\{ε}∪FOLLOW(E)={#,+,]}FOLLOW(A)= FOLLOW(V)={+,,#}FOLLOW(E)= FIRST(])\{ε}∪FOLLOW(B)= FIRST(])\{ε}∪FOLLOW(E)={]}FOLLOW(B)= FOLLOW(E)={ ]}FOLLOW(N)= FIRST(A)\{ε}∪FOLLOW(V)={[,],+,#}可以看到,对文法G′[V]的发生式A→ε|[E],有FIRST([E])∩FOLLOW(A)={[}∩{+,],#}= Ø对发生式B→ε|+E,有FIRST(+E)∩FOLLOW(B)={+}∩{]}= Ø而文法的其他发生式都只要一个不为ε的右部,以是文法G′[V]是LL(1)文法.5解答:(1)由于发生式A→aAa|ε有空发生式右部,而FOLLOW(A)={#}∪FIRST(a)={a, #}形成 FIRST(A)∩FOLLOW(A)={A, ε}∩{a, #}≠Ø以是该文法不是LL(1)文法.(2)若采取LL(1)方法进行语法分析,必须修正该文法.因该文法发生偶数(可以为0)个a,以是得到文法G′[A]: A→aaA|ε此时对发生式A→aaA|ε,有FOLLOW(A)={#}∪FOLLOW(A)={#},因此FIRST(A)∩FOLLOW(A)={a, ε}∩{#}=Ø以是文法G′[A]是LL(1)文法,按LL(1)分析表构造算法构造该文法的LL(1)分析表如表4-3-3所示.”的分析过程如表4-3-4所示.第五章1.设有文法G[S]为:S→a|b|(A)A→SdA|S(1)完成下列算符优先关系表,见表5-7-1,并判别G[S]能否为算符优先文法.表5-7-1 算符优先关系表(2素短语.(3)给出输入串(adb)#的分析过程.解答:(1)先求文法G[S]的FIRSTVT集和LASTVT集:由S→a|b|(A)得:FIRSTVT(S)={a,b,( );由A→Sd…得:FIRSTVT(A)={d};又由A→S…得:FIRSTVT(S)⊂FIRSTVT(A),即FIRSTVT(A)={d,a,b,(};由S→a|b|(A)得;LASTVT(S)={a,b,}};由A→…dA得:LASTVT(A)={d},又由A→S得:LASTVT(S)⊂LASTVT(A),即LASTVT(A)={d,a,b,)}.构造优先关系表方法如下:①对P→…ab…,或P→…aQb…,有a≖b;②对P→…aR…,而b∈FIRSTVT(R),有a⋖b;③对P→…Rb…,而a∈FIRSTVT(R),有a⋗b.由此得到:①由S→(A)得:(≖);②由S→(A…得:(⋖FIRSTVT(A),即:(⋖d,(⋖a ,(⋖b,(⋖(;由A→…dA得:d⋖FIRSTVT(A),即:d⋖d,d⋖a,d⋖b,d⋖(;③由S→A)得,LASTVT(A)⋗),即:d⋗),a⋗),b⋗),)⋗);由A→Sd…得:LASTVT(S)⋗d,即:a⋗d,b⋗d,)⋗d;此外,由#S#得:#≖#;由#⋖FIRSTVT(S)得:#⋖a,#⋖b,#⋖(;脂由LASTVT(S)⋗#得:d⋗#,a⋗#,b⋗#,)⋗#.末了得到算符优先关系表,见表5-7-2.表5-7-2 算符优先关系表由表5-7-2≖、⋖、⋗三种优先关系之一,故G[S]为算符优先文法.(2)为求出句型(SdSdS)的短语、简单短语、句柄,我们先画出该句型对应的语法树,如图5-7-3所示.短语:S,SdS,SdSdS,(SdSdS)简单短语(即直接短语):S句柄(即最左直接短语):S素短语:SdS,它同时也是该句型的最左素短语.(3)输入串(adb)#的分析过程见表5-7-4表5-7-4 输入串(adb)#的分析过程第六章一、单项选择题1、若a为闭幕符,则A→α·aβ为项目a.回约b.移进c.接受d.待约2、若项目集I k含有A→α·,则在形态k时,仅当面临的输入符号a∈FOLLOW(A)时,才采纳“A→α·”动作的一定是.LR文法b.LR(0)文法c.LR(1)文法d.SLR(1)文法3、就文法的描绘才能来说,有.a. SLR(1)⊂LR(0)b. LR(1)⊂LR(0)c. SLR(1)⊂LR (1)d.无二义文法⊂LR(1)4、在LR(0)的ACTION子表中,假如某一行中存在标识表记标帜“r j”的栏,则.a.该行一定填满r jb.该行未填满r jc.其他行也有r j子表中也有r j5、一个指明了在分析过程中的某时候所能看到发生式多大一部分.a.活前缀b.前缀c.项目d.项目集二、多项选择题1、一个LR分析器包含.a.一个总控程序b.一个项目集c.一个活前缀d.一张分析表e.一个分析栈2、LR分析器核心部分是一张分析表,该表包含等子表.a.LL(1)分析b.优先关系c.GOTOd.LRe.ACTION3、每一项ACTION[S,a]所规定的动作包含.a.移进b.比较c.接受d.回约e.报错4、对LR分析表的构造,有可能存在动作冲突.a.移进b.回约c.移进/回约d.移进/移进e.回约/回约5、就文法的描绘才能来说,有.a. SLR(1)⊂LR(1)b. LR(1)⊂SLR(1)c. LR(0)⊂LR(1)d. LR(1)⊂无二义文法e. SLR(1)⊂无二义文法6、对LR分析器来说,存在等分析表的构造方法.LRb.LR(0)c.SLR(1)d.SLR(0)e.LR(1)7、自上而下的语法分析方法有 .a.算符优先分析法b.LL(1)分析法c.SLR(1)分析法d.LR(0)分析法LR(1)分析法三、填空题1、对于一个文法,假如可以构造.使得它的均是独一确定的,则称该文法为LR文法.2、字的前缀是指该字的.3、活前缀是指的一个前缀,这种前缀不含之后的任何符号.4、在LR分析过程中,只需的已扫描部分坚持可回约成一个,则扫描过的部分正确.5、将识此外NFA确定化,使其成为以为形态的DFA,这个DFA 就是建立的根底.6、A→α·称为项目;对文法开始符S′→α·为项目;若a为闭幕符,则称A→α·aβ为项目;若B为非闭幕符,则称A→α·aβ为项目.7、LR(0)分析法的名字中“L”暗示,“R”暗示,“0”暗示.四、综合题1、对于文法G[S]: S→AS|bA→SA|a(1)列出全部LR(0)项目(2)列出构成文法LR(0)项目集规范族.单项解答:1、A→α·称为回约项目,对文法开始符S′的回约项目,如S′→α·称为接受项目,A→α·aβ(a为闭幕符)称为移进项目.在此选b.2、当用发生式A→α回约时,LR(0)无论面临什么输入符号都进行回约;SLR(1)则仅当面临的输入符号a∈FOLLOW(A)时进行回约;LR(1)则当在把α回约为A的规范句型的前缀βAa前提下,当α后跟闭幕符a时,才进行回约;因此选d.3、由于LR(0)⊂SLR(1)⊂ LR(1)⊂无二义文法,故选c.4、选a.5、选c.多选解答:1、一个LR分析器包含一个总控程序和一张分析表,选a、d.2、选c、e.3、选a、c、d、e.4、在LR分析表的构造中有可能存在“移进”/“回约”和“回约”/“回约”冲突;故选c、e.5、选a、b、c、d、e.6、选a、b、c、e.7、选a、c、d、e.填空解答:1、一张分析表每个入口2、恣意首部3、规范句型句柄4、输入串活前缀5、活前缀项目集合 LR分析算法6、回约接受移进待约7、自左至右分析采取最右推导的逆过程即最左回约向右检查0个字符综合解答:首先将文法G拓广为G[S′]:S′→SS→AS|bA→SA|a(1)文法G[S′]的LR(0)项目是:。
编译原理试题及答案
编译原理试题及答案一、选择题1. 下列哪个不是编译器所需的基本处理步骤?A. 词法分析B. 语法分析C. 语义分析D. 目标代码优化答案:D2. 编译器的主要功能是将高级语言程序翻译成什么形式?A. 汇编语言B. 机器语言C. 中间代码D. 高级语言答案:B3. 下列哪个不属于编译器的后端阶段?A. 代码优化B. 目标代码生成C. 词法分析D. 目标程序优化答案:C二、填空题1. 编译器的输入是源程序,输出是目标程序。
2. 目标代码生成阶段的任务是将中间代码翻译成汇编语言或机器语言。
3. 语法分析阶段的输出是抽象语法树。
三、简答题1. 请简述编译器的工作原理。
编译器的工作原理主要包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等阶段。
词法分析阶段将源程序分解成单词(也称为词法单元),语法分析阶段根据语法规则将词法单元组织成一个语法树,语义分析阶段对语法树进行语义检查,中间代码生成阶段将语法树转化为中间代码,代码优化阶段对中间代码进行优化,最后目标代码生成阶段将中间代码转化为机器语言或汇编语言。
2. 请说明词法分析的作用是什么,如何实现?词法分析的作用是将源程序中的字符序列转化为单词序列,也就是将一段代码切分成不同的词法单元。
实现词法分析可以通过有限状态自动机来处理输入字符序列,并根据一系列规则将字符序列划分为词法单元。
常用的方法有手写分析器和使用词法分析生成器等。
3. 简要介绍一下代码优化的目的和方法。
代码优化的目的是通过对程序的中间代码或目标代码进行调整,以达到提高程序性能、减小程序的空间占用或减小程序的执行时间等目的。
代码优化的方法主要包括局部优化和全局优化两种。
局部优化主要针对某个代码块进行优化,如常量折叠、公共子表达式消除等。
全局优化则考虑整个程序,对程序的整体结构进行优化,如循环优化、函数内联等。
总结:编译原理试题及答案主要涵盖了选择题、填空题和简答题三个部分。
其中选择题主要考察对编译器基本处理步骤和功能的理解。
大连理工大学智慧树知到“计算机科学与技术”《编译原理基础》网课测试题答案卷4
长风破浪会有时,直挂云帆济沧海。
住在富人区的她全文为Word 可编辑,若为PDF 皆为盗版,请谨慎购买!大连理工大学智慧树知到“计算机科学与技术”《编译原理基础》网课测试题答案(图片大小可自由调整) 第1卷 一.综合考核(共10题)1.代码生成是指取源程序的一种中间表示作为输入并把它映射到一种目标语言。
() A.正确 B.错误2.移进—归约分析为输入串构造分析树是从根结点开始的,朝着叶结点方向前进。
() A.正确 B.错误3.同心集合并可能会产生的冲突为()。
A.二义B.移进—移进C.移进—归约D.归约—归约4.过程定义是一个声明,它的最简单形式是将一个名字和一个语句联系起来,该名字是过程名,而这个语句是过程体。
() A.正确 B.错误5.语义分析的一个重要部分是类型检查,编译器检查每个算符的运算对象,看它们的类型是否适当。
() A.正确 B.错误6.后缀表示是语法树的一种线性表示。
() T 、对 F 、错7.符号表是为每个变量名字保存一个记录的数据结构,记录的域是该名字的属性。
() A.正确B.错误8.引用某个已被回收的存储单元就称为悬空引用。
() A.正确 B.错误9.确定的有限自动机从任何状态出发,对于任何输入符号,最多只有一个转换。
()T 、对 F 、错10.出现在过程定义中的某些名字是特殊的,它们被称为该过程的形式参数,简称形参。
()A.正确B.错误第1卷参考答案一.综合考核1.参考答案:A2.参考答案:B3.参考答案:D4.参考答案:A5.参考答案:A6.参考答案:T7.参考答案:A8.参考答案:A9.参考答案:T10.参考答案:A。
编译原理习题及答案1~3(课堂PPT)
11
《编译原理教程》习题解析
12
(3) 词法分析器的输出是 。 A.单词的种别编码 B.单词的种别编码和自身的值 C.单词在符号表中的位置 D.单词自身值
(4) 状态转换图(见图2-1)接受的字集为 _______。 A.以0开头的二进制数组成的集合 B.以0结尾的二进制数组成的集合 C.含奇数个0的二进制数组成的集合 D.含偶数个0的二进制数组成的集合
C.汇编语言是计算机唯一能够直接识别并接受 的语言
D.高级语言接近人们的自然语言,但其依赖具 体机器的特性是无法改变的
2
《编译原理教程》习题解析
3
(2) 将编译过程分成若干“遍”是为了 。
A.提高程序的执行效率
B.使程序的结构更加清晰
C.利用有限的机器内存并提高机器的执行效率
D.利用有限的机器内存但降低了机器的执行效
【解答】 计算机执行用高级语言编写的程序主要有两种途 径:解释和编译。
在解释方式下,翻译程序事先并不采用将高级语言程序全 部翻译成机器代码程序,然后执行这个机器代码程序的方法, 而是每读入一条源程序的语句,就将其解释(翻译)成对应其功能 的机器代码语句串并执行,然后再读入下一条源程序语句并解 释执行,而所翻译的机器代码语句串在该语句执行后并不保留。 这种方法是按源程序中语句的动态执行顺序逐句解释(翻译)执行 的,如果一语句处于一循环体中,则每次循环执行到该语句时, 都要将其翻译成机器代码后再执行。
14
《编译原理教程》习题解析
15
(7) 下面用正规表达式描述词法的论述中,不正确的 是。
A.词法规则简单,采用正规表达式已足以描述 B.正规表达式的表示比上下文无关文法更加简 洁、直观和易于理解 C.正规表达式描述能力强于上下文无关文法 D.有限自动机的构造比下推自动机简单且分析 效率高 (8) 与(a|b)*(a|b)等价的正规式是 。 A.(a|b) (a|b)* B.a*|b* C.(ab)*(a|b)* D.(a|b)*
大工20秋《编译原理基础》奥鹏平时在线作业3
大工20秋《编译原理基础》在线作业3
试探与回溯是一种穷尽一切可能的办法,效率低、代价高,它只有理论意义,在实践中价值不大。
A:对
B:错
答案:A
预测分析的关键问题是在扩展一个非终结符时怎样为它选择合适的产生式。
A:对
B:错
答案:A
移进-归约分析为输入串构造分析树是从根结点开始的,朝着叶结点方向前进。
A:对
B:错
答案:B
句型的句柄是该句型中和一个产生式左部匹配的子串。
A:对
B:错
答案:B
一个文法,如果能为它构造出所有条目都唯一的LR分析表,就说它是LR文法。
A:对
B:错
答案:A。
大工2020年春《编译原理基础》在线作业1学习资料答案
【奥鹏】-大连理工20春《编译原理基础》在线作业1
提示:请认真阅读本套试卷,核对是否是您需要的题目,本套试卷只做参考学习
使用!!!
一、判断题 (共 15 道试题,共 75 分)
【题目】试探与回溯是一种穷尽一切可能的办法,效率低、代价高,它只有理论意义,在实践中价值不大。
[A.]正确
[B.]错误
正确的选择是:正确
【题目】预测分析的关键问题是在扩展一个非终结符时怎样为它选择合适的产生式。
[A.]正确
[B.]错误
正确的选择是:正确
【题目】移进-归约分析为输入串构造分析树是从根结点开始的,朝着叶结点方向前进。
[A.]正确
[B.]错误
正确的选择是:错误
【题目】句型的句柄是该句型中和一个产生式左部匹配的子串。
[A.]正确
[B.]错误
正确的选择是:错误
【题目】一个文法,如果能为它构造出所有条目都唯一的LR分析表,就说它是LR文法。
[A.]正确
[B.]错误
正确的选择是:正确
【题目】语法制导的产生式有多组语义规则。
[A.]正确
[B.]错误
正确的选择是:错误
【题目】属性文法是指语义规则函数无副作用的语法制导定义。
大工20春《编译原理基础》在线作业123【答案】
大工20春《编译原理基础》在线作业1试卷总分:100 得分:100一、判断题(共15 道试题,共75 分)1.试探与回溯是一种穷尽一切可能的办法,效率低、代价高,它只有理论意义,在实践中价值不大。
本题参考答题选项:正确2.预测分析的关键问题是在扩展一个非终结符时怎样为它选择合适的产生式。
本题参考答题选项:正确3.移进-归约分析为输入串构造分析树是从根结点开始的,朝着叶结点方向前进。
本题参考答题选项:错误4.句型的句柄是该句型中和一个产生式左部匹配的子串。
本题参考答题选项:错误5.一个文法,如果能为它构造出所有条目都唯一的LR分析表,就说它是LR文法。
本题参考答题选项:正确6.语法制导的产生式有多组语义规则。
本题参考答题选项:错误7.属性文法是指语义规则函数无副作用的语法制导定义。
本题参考答题选项:正确8.仅仅使用综合属性的语法制导定义称为S属性定义。
本题参考答题选项:正确9.每个结点的属性值都标注出来的分析树叫做注释分析树。
本题参考答题选项:正确10.过程定义是一个声明,它的最简单形式是将一个名字和一个语句联系起来,该名字是过程名,而这个语句是过程体。
本题参考答题选项:正确11.过程名出现在调用语句中则称这个过程在该点被调用。
本题参考答题选项:正确12.出现在过程定义中的某些名字是特殊的,它们被称为该过程的形式参数,简称形参。
本题参考答题选项:正确13.一个声明起作用的程序部分称为该声明的作用域。
本题参考答题选项:正确14.引用某个已被回收的存储单元就称为悬空引用。
本题参考答题选项:正确15.后缀表示是语法树的一种线性表示。
本题参考答题选项:正确二、单选题(共5 道试题,共25 分)16.对于LR(0)分析法,语法分析栈中存放的状态是识别规范句型()的DFA状态。
A.前缀B.活前缀C.LR(0)项目D.句柄本题参考答题选项:B17.同心集合并可能会产生的冲突为()。
A.二义B.移进-移进C.移进-归约D.归约-归约本题参考答题选项:D18.如果一个文法G是无二义性文法,对于任何一个句子,该句子()。
大连理工大学20年秋季《编译原理基础》在线作业3附参考答案
大连理工大学20年秋季《编译原理基础》
在线作业3附参考答案
试卷总分:100 得分:100
一、判断题 (共 15 道试题,共 75 分)
1.试探与回溯是一种穷尽一切可能的办法,效率低、代价高,它只有理论意义,在实践中价值不大。
答案:正确
2.预测分析的关键问题是在扩展一个非终结符时怎样为它选择合适的产生式。
答案:正确
3.移进-归约分析为输入串构造分析树是从根结点开始的,朝着叶结点方向前进。
答案:错误
更多加微boge30619
4.句型的句柄是该句型中和一个产生式左部匹配的子串。
答案:错误
5.一个文法,如果能为它构造出所有条目都唯一的LR分析表,就说它是LR文法。
答案:正确
6.语法制导的产生式有多组语义规则。
答案:错误
7.属性文法是指语义规则函数无副作用的语法制导定义。
答案:正确
8.仅仅使用综合属性的语法制导定义称为S属性定义。
答案:正确
9.每个结点的属性值都标注出来的分析树叫做注释分析树。
答案:正确
10.过程定义是一个声明,它的最简单形式是将一个名字和一个语句联系起来,该名字是过程名,而这个语句是过程体。
答案:正确
11.过程名出现在调用语句中则称这个过程在该点被调用。
答案:正确
12.出现在过程定义中的某些名字是特殊的,它们被称为该。
编译原理习题及答案1~3
图2-13 习题2.6的NFA
用子集法将图2-13所示的NFA确定化,如图2-14所示
由图2-14可看出非终态2和4的下一状态相同,终态6和8 的下一状态相同,即得到最简状态为
{0} {1} {2,4} {3} {5} {6,8} {7}
按顺序重新命名为0、1、2、3、4、5、6,则 得到最简DFA,如图2-15所示。
(2) 将编译过程分成若干“遍”是为了 。
A.提高程序的执行效率
B.使程序的结构更加清晰
C.利用有限的机器内存并提高机器的执行效率
D.利用有限的机器内存但降低了机器的执行效
率
(3) 构造编译程序应掌握 。
A.源程序
B.目标语言
C.编译方法
D.A~C项
(4) 编译程序绝大多数时间花在 上。
A.出错处理
2.9构造一个DFA,它接收 Σ ={a,b}上所有含偶数 个a的字符串。 解:Σ ={a,b}上所有含偶数个a的字符串可表示为 (b|ab*a)*
2.10 下列程序段以B表示循环体,A表示初始化,I表 示增量,T表示测试:
(4) 状态转换图(见图2-1)接受的字集为 _______。 A.以0开头的二进制数组成的集合 B.以0结尾的二进制数组成的集合 C.含奇数个0的二进制数组成的集合 D.含偶数个0的二进制数组成的集合
图2-1 习题2.1的DFA M
(5) 对于任一给定的NFA M, 一个DFA M′,使 L(M)= L(M′)。
S
a
b
0
2
1
1
—
2
2
2
2
其状态转换图如图2-3所示。
图2-3 习题2.3的DFA M′
将图2-3所示的DFA M′最小化。首先,将M′的状态分 成终态组{1,2}与非终态组{0}。其次,考察{1,2}。由于 {1,2}a={1,2}b={2} {1,2},因此不再将其划分了,也即整 个划分只有两组:{0}和{1,2}。令状态1代表{1,2},即把原 来到达2的弧都导向1,并删除状态2。最后,得到如图2-4 所示的化简了的DFA M′。
大工20秋《编译原理基础》在线作业3
大工20秋《编译原理基础》在线作业3
1:试探与回溯是一种穷尽一切可能的办法,效率低、代价高,它只有理论意义,在实践中价值不大。
T、对
F、错
答案:T
2:预测分析的关键问题是在扩展一个非终结符时怎样为它选择合适的产生式。
T、对
F、错
答案:T
3:移进-归约分析为输入串构造分析树是从根结点开始的,朝着叶结点方向前进。
T、对
F、错
答案:F
4:句型的句柄是该句型中和一个产生式左部匹配的子串。
T、对
F、错
答案:F
5:一个文法,如果能为它构造出所有条目都唯一的LR分析表,就说它是LR文法。
T、对
F、错
答案:T
6:语法制导的产生式有多组语义规则。
T、对
F、错
答案:F
7:属性文法是指语义规则函数无副作用的语法制导定义。
T、对
F、错
答案:T
8:仅仅使用综合属性的语法制导定义称为S属性定义。
T、对
F、错
答案:T
9:每个结点的属性值都标注出来的分析树叫做注释分析树。
T、对
F、错
答案:T
10:过程定义是一个声明,它的最简单形式是将一个名字和一个语句联系起来,该名字是过程名,而这个语句是过程体。
T、对
F、错
答案:T。
大工20秋《编译原理基础》在线作业2
大工20秋《编译原理基础》在线作业2
1:NFA可以用带标记的有向图表示,即状态转换图,结点表示状态,有标记的边代表转换函数。
T、对
F、错
答案:T
2:确定的有限自动机从任何状态出发,对于任何输入符号,最多只有一个转换。
T、对
F、错
答案:T
3:每一个正规集都可以由一个状态数最少的DFA识别,这个DFA是唯一的。
T、对
F、错
答案:T
4:自下而上分析器按从根结点到叶结点的次序来建立分析树。
T、对
F、错
答案:F
5:最有效的自上而下和自下而上的分析法都只能处理上下文无关文法的子类。
T、对
F、错
答案:T
6:正规式只能表示给定结构的固定次数的重复或者不指定次数的重复。
T、对
F、错
答案:T
7:推导的意思是把产生式看成重写规则,把符号串中的非终结符用其产生式右部的串来代替。
T、对
F、错
答案:T
8:最左推导又称规范推导。
T、对
F、错
答案:F
9:分析树是推导的图形表示。
T、对
F、错
答案:T
10:分析树的叶结点由非终结符或终结符标记,所有这些标记从左到右构成一个句型。
T、对
F、错
答案:T。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.一个声明起作用的程序部分称为该声明的作用域。
答案:正确。