大连理工大学20年秋季《编译原理基础》在线作业1附参考答案
编译原理习题及答案(整理后)

编译原理习题及答案(整理后)第⼀章1、将编译程序分成若⼲个“遍”是为了。
b.使程序的结构更加清晰2、构造编译程序应掌握。
a.源程序b.⽬标语⾔c.编译⽅法3、变量应当。
c.既持有左值⼜持有右值4、编译程序绝⼤多数时间花在上。
d.管理表格5、不可能是⽬标代码。
d.中间代码6、使⽤可以定义⼀个程序的意义。
a.语义规则7、词法分析器的输⼊是。
b.源程序8、中间代码⽣成时所遵循的是- 。
c.语义规则9、编译程序是对。
d.⾼级语⾔的翻译10、语法分析应遵循。
c.构词规则⼆、多项选择题1、编译程序各阶段的⼯作都涉及到。
b.表格管理c.出错处理2、编译程序⼯作时,通常有阶段。
a.词法分析b.语法分析c.中间代码⽣成e.⽬标代码⽣成三、填空题1、解释程序和编译程序的区别在于是否⽣成⽬标程序。
2、编译过程通常可分为5个阶段,分别是词法分析、语法分析中间代码⽣成、代码优化和⽬标代码⽣成。
3、编译程序⼯作过程中,第⼀段输⼊是源程序,最后阶段的输出为标代码⽣成程序。
4、编译程序是指将源程序程序翻译成⽬标语⾔程序的程序。
⼀、单项选择题1、⽂法G:S→xSx|y所识别的语⾔是。
c. x n yx n(n≥0)d. x*yx*2、⽂法G描述的语⾔L(G)是指。
a. L(G)={α|S + ?α , α∈VT*} b. L(G)={α|S*?α, α∈VT*}c. L(G)={α|S *?α,α∈(VT∪V N*)} d. L(G)={α|S+ ?α, α∈(VT∪V N*)}3、有限状态⾃动机能识别。
a. 上下⽂⽆关⽂法b. 上下⽂有关⽂法c.正规⽂法d. 短语⽂法4、设G为算符优先⽂法,G的任意终结符对a、b有以下关系成⽴。
a. 若f(a)>g(b),则a>bb.若f(a)c. a~b都不⼀定成⽴d. a~b⼀定成⽴5、如果⽂法G是⽆⼆义的,则它的任何句⼦α。
a. 最左推导和最右推导对应的语法树必定相同b. 最左推导和最右推导对应的语法树可能不同c. 最左推导和最右推导必定相同d. 可能存在两个不同的最左推导,但它们对应的语法树相同6、由⽂法的开始符经0步或多步推导产⽣的⽂法符号序列是。
编译原理试题参考答案

编译原理试题参考答案编译原理试题参考答案编译原理是计算机科学中的一门重要课程,它研究的是将高级语言源代码转换成机器语言的过程。
在学习编译原理的过程中,试题是一种常见的考核方式。
下面是一些编译原理试题的参考答案,希望对大家的学习有所帮助。
1. 什么是编译器?编译器是一种将高级语言源代码转换成机器语言的程序。
它包括了词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等多个阶段。
编译器的主要作用是将高级语言源代码转换成可执行的机器语言程序。
2. 什么是词法分析?词法分析是编译器的第一个阶段,它将源代码分解成一个个的词法单元,比如关键字、标识符、常量和运算符等。
词法分析器通常使用有限自动机来实现,它可以根据事先定义好的词法规则来识别源代码中的词法单元。
3. 什么是语法分析?语法分析是编译器的第二个阶段,它将词法分析得到的词法单元组织成一个语法树。
语法分析器通常使用上下文无关文法来描述语法规则,并通过递归下降、LL(1)分析或LR分析等算法来进行语法分析。
4. 什么是语义分析?语义分析是编译器的第三个阶段,它对语法树进行语义检查和语义规则的处理。
语义分析器通常会进行类型检查、符号表管理和语义规则的处理,以确保源代码的语义正确性。
5. 什么是中间代码生成?中间代码生成是编译器的第四个阶段,它将语法树转换成一种中间表示形式,比如三地址码、虚拟机代码或抽象语法树。
中间代码是一种与具体机器无关的表示形式,它方便后续的代码优化和目标代码生成。
6. 什么是代码优化?代码优化是编译器的第五个阶段,它通过对中间代码的分析和变换,来改进程序的执行效率和资源利用率。
代码优化的目标是在保持程序语义不变的前提下,尽可能地减少程序的执行时间和资源消耗。
7. 什么是目标代码生成?目标代码生成是编译器的最后一个阶段,它将中间代码转换成目标机器的机器语言程序。
目标代码生成器通常会进行寄存器分配、指令选择和指令调度等操作,以生成高效的目标代码。
大连理工大学智慧树知到“计算机科学与技术”《编译原理基础》网课测试题答案卷1

长风破浪会有时,直挂云帆济沧海。
住在富人区的她全文为Word 可编辑,若为PDF 皆为盗版,请谨慎购买!大连理工大学智慧树知到“计算机科学与技术”《编译原理基础》网课测试题答案(图片大小可自由调整) 第1卷 一.综合考核(共10题)1.一个声明起作用的程序部分称为该声明的作用域。
()T 、对F 、错2.对于连接运算而言,空串是一个恒等元素。
()T 、对F 、错3.对于LR(0)分析法,语法分析栈中存放的状态是识别规范句型()的DFA 状态。
A 、前缀B 、活前缀C 、LR(0)项目D 、句柄4.语言定义不允许运算对象的类型作隐式转换。
() T 、对F 、错5.移进-归约分析为输入串构造分析树是从根结点开始的,朝着叶结点方向前进。
() T 、对F 、错6.编译器是一种翻译器,它的特点是目标语言比源语言低级。
() T 、对F 、错7.确定的有限自动机从任何状态出发,对于任何输入符号,最多只有一个转换。
() A.正确B.错误8.词法分析难以发现源程序的错误,因为词法分析器对源程序采取非常局部的观点。
() T 、对 F 、错9.句型的句柄是该句型中和一个产生式左部匹配的子串。
()A.正确B.错误10.如果一个文法G 是无二义性文法,对于任何一个句子,该句子()。
A.可能存在两个不同的最左推导B.可能存在两个不同的最右推导C.最左推导和最右推导对应的语法树不同D.仅存在一个最左推导和一个最右推导第1卷参考答案 一.综合考核1.参考答案:T2.参考答案:T3.参考答案:B4.参考答案:F5.参考答案:F6.参考答案:T7.参考答案:A8.参考答案:T9.参考答案:B10.参考答案:D。
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春《编译原理基础》在线作业1参考答案

大工20春《编译原理基础》在线作业1
试卷总分:100 得分:100
一、判断题(共15 道试题,共75 分)
1.试探与回溯是一种穷尽一切可能的办法,效率低、代价高,它只有理论意义,在实践中价值不大。
答案:正确
2.预测分析的关键问题是在扩展一个非终结符时怎样为它选择合适的产生式。
答案:正确
3.移进-归约分析为输入串构造分析树是从根结点开始的,朝着叶结点方向前进。
答案:错误
4.句型的句柄是该句型中和一个产生式左部匹配的子串。
答案:错误
5.一个文法,如果能为它构造出所有条目都唯一的LR分析表,就说它是LR文法。
答案:正确
6.语法制导的产生式有多组语义规则。
答案:错误
7.属性文法是指语义规则函数无副作用的语法制导定义。
答案:正确
8.仅仅使用综合属性的语法制导定义称为S属性定义。
答案:正确
9.每个结点的属性值都标注出来的分析树叫做注释分析树。
答案:正确
10.过程定义是一个声明,它的最简单形式是将一个名字和一个语句联系起来,该名字是过程名,而这个语句是过程体。
答案:正确
11.过程名出现在调用语句中则称这个过程在该点被调用。
答案:正确
12.出现在过程定义中的某些名字是特殊的,它们被称为该过程的形式参数,简称形参。
答案:正确
13.一个声明起作用的程序部分称为该声明的作用域。
答案:正确。
大连理工大学--编译原理复习

编译技术命题指导意见教学内容知识点及题型第一章编译器概述A (1)编译的阶段划分 [选择题 2分][1] 编译程序绝大多数时间花在( )上。
A. 出错处理B. 词法分析C. 目标代码生成D. 符号表管理答案:D[2] ( ) 和代码优化部分不是每个编译程序都必需的。
A. 语法分析B. 中间代码生成C. 词法分析D. 代码生成答案:B[3] 编译程序前三个阶段完成的工作是( )。
A. 词法分析、语法分析和代码优化B. 代码生成、代码优化和词法分析C. 词法分析、语法分析和语义分析D. 词法分析、语法分析和代码生成答案:C(2)遍的概念 [填空题 2分][1] 编译阶段的活动常用一遍扫描来实现,一遍扫描包括和。
答案:读一个输入文件写一个输出文件[2] 将编译程序分成若干个“遍”是为了________。
答案:使程序的结构更加清晰[3] 编译器从逻辑上可以分为7个阶段,其中,可以作为一个后端遍的是___________阶段。
答案:代码生成(3)前端和后端的划分 [简答题 5分][1] 什么是前端? [5分]答案:编译器分成分析和综合两大部分。
分析部分揭示源程序的基本元素和它们所形成的层次结构,决定它们的含义,建立起源程序的中间表示,分析部分经常被称为前端。
[2] 什么是后端? [5分]答案:编译器分成分析和综合两大部分。
综合部分从源程序的中间表示建立起和源程序等价的目标程序,它经常被称为后端。
[3] 什么是前端?什么是后端? [5分]答案:编译器分成分析和综合两大部分。
分析部分揭示源程序的基本元素和它们所形成的层次结构,决定它们的含义,建立起源程序的中间表示,分析部分经常被称为前端。
综合部分从源程序的中间表示建立起和源程序等价的目标程序,它经常被称为后端。
第二章2.1 2.2 词法记号的定义及描述B (1)词法分析器的功能 [选择题 2分][1] 词法分析程序的输出结果是()。
A. 单词的种别编码B. 单词在符号表中的位置C. 单词的种别编码和单词属性值D. 单词的单词属性值答案:C[2] 词法分析器用于识别_____。
大连理工大学智慧树知到“计算机科学与技术”《汇编语言程序设计》网课测试题答案卷1

大连理工大学智慧树知到“计算机科学与技术”《汇编语言程序设计》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共10题)1.DD代表6个字节。
()A.正确B.错误2.如果(AL)=66H,执行如下程序片段后(1)OR AL,1 (2)ADC AL,82H后,(AL)的执行结果为()。
A.0E9HB.0EAHC.0EBHD.0ECH3.若AX=349DH,CX=000FH。
则执行指令AND AX,CX后,AX的值是000DH。
()A.正确B.错误4.对计算机的软件、硬件进行管理的是()的功能。
A.操作系统B.数据库管理系统C.编译器D.用户程序5.MACRO和ENDM一对伪操作中间就是宏定义体,是一组有独立功能的程序代码。
()A.正确B.错误6.MACRO和ENDM是一对伪指令,在()定义中,它们成对出现。
A.宏B.字母C.语句D.数字7.阅读如下程序段,假设数组中所有数据均为0:(1)ADRR DB XXH,XXH,……,XXH (2) NUM EQU $-ADRR (3)RETT DB ? (4)…(5)MOV CX,NUM (6)MOV BX,-1 (7)DON: (8)INC BX (9)CMP ADRR[BX],0 (10)LOOPZ DON (11)JNZ NEXT (12)MOV BL,OFFH (13)NEXT: (14)MOV RETT,BL (15)HLT结束后,RETT字节单元中的内容是()。
A.0FFHB.0C.BCHD.001H8.(1)FUNCTION MACRO P1,P2,P3 (2)MOV AX,P1 (3)P2 P3,1 (4)ENDM 通过调用语句FUNCTION 101H,DEC,AX调用之后,AX寄存器中的内容为()。
A.100HB.99HC.98HD.101H9.NOT AX,执行后,将AX清0。
()A.正确B.错误10.若当前(DL)=48H,执行指令AND DL,0F0H后,(DL)等于()。
大工20秋《编译原理基础》奥鹏平时在线作业3

大工20秋《编译原理基础》在线作业3
试探与回溯是一种穷尽一切可能的办法,效率低、代价高,它只有理论意义,在实践中价值不大。
A:对
B:错
答案:A
预测分析的关键问题是在扩展一个非终结符时怎样为它选择合适的产生式。
A:对
B:错
答案:A
移进-归约分析为输入串构造分析树是从根结点开始的,朝着叶结点方向前进。
A:对
B:错
答案:B
句型的句柄是该句型中和一个产生式左部匹配的子串。
A:对
B:错
答案:B
一个文法,如果能为它构造出所有条目都唯一的LR分析表,就说它是LR文法。
A:对
B:错
答案:A。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连理工大学20年秋季《编译原理基础》在线作业1附参考答案
试卷总分:100 得分:100
一、判断题 (共 15 道试题,共 75 分)
1.编译器是一种翻译器,它的特点是目标语言比源语言低级。
答案:正确
2.语法树的子结点代表该运算的运算对象。
答案:正确
3.语义分析的一个重要部分是类型检查,编译器检查每个算符的运算对象,看它们的类型是否适当。
答案:正确
更多加微boge30619
4.语言定义不允许运算对象的类型作隐式转换。
答案:错误
5.代码生成是指取源程序的一种中间表示作为输入并把它映射到一种目标语言。
答案:正确
6.符号表是为每个变量名字保存一个记录的数据结构,记录的域是该名字的属性。
答案:正确
7.解释器可以通过翻译来生成目标程序。
答案:错误
8.解释执行的效率比编译器生成的机器代码的执行效率高。
答案:错误
9.类型检查是一种捕捉程序中不一致性的成熟并且有效的技术。
答案:正确
10.类型检查技术不能用于捕捉多种安全漏洞。
答案:错误
11.词法分析器的任务是把构成源程序的字符流翻译成词法记号流。
答案:正确。