编译原理考试试卷
编译原理试卷及答案

编译原理试卷及答案东北大学秦皇岛分校课程名称:编译原理试卷: (B )答案考试形式:闭卷授课专业:计算机科学与技术考试日期:年月日试卷:共 2 页题号一二三四总分得分阅卷人一、填空题(每空2分,共30分)1、编译程序的整个过程可以从逻辑上划分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等几个阶段,另外还有两个重要的工作是理和出错处理。
表格管2、规范规约中的可归约串是句柄,算符优先分析中的可归约串是最左素短语。
3、语法分析方法主要可分为自顶向下和自底向上两大类。
4、LR (0)文法的项目集中不会出现移进-归约冲突和归约-归约冲突。
5、数据空间的动态存储分配方式可分为栈式和堆式两种。
6、编译程序是指能将源语言程序翻译成目标语言程序的程序。
7、确定有穷自动机DFA 是NFA 的一个特例。
8、表达式(a+b)*c 的逆波兰表示为 ab+c* 。
二、选择题(每题2分,共20分)1、LR 语法分析栈中存放的状态是识别 B 的DFA 状态。
A 、前缀B 、可归前缀C 、项目D 、句柄 2、 D 不可能是目标代码。
A 、汇编指令代码B 、可重定位指令代码C 、绝对机器指令代码D 、中间代码 3、一个控制流程图就是具有 C 的有向图A 、唯一入口结点B 、唯一出口结点C 、唯一首结点D 、唯一尾结点 4、设有文法G[S]:S →b|bBB →bS ,则该文法所描述的语言是C 。
A 、L (G )={b i |i ≥0}B 、L (G )={b 2i |i ≥0}C 、L (G )={b 2i+1|i ≥0}D 、L (G )={b 2i+1|i ≥1}5、把汇编语言程序翻译成机器可执行的目标程序的工作是由 B 完成的。
A 、编译器B 、汇编器C 、解释器D 、预处理器 6、在目标代码生成阶段,符号表用于 D 。
A 、目标代码生成B 、语义检查C 、语法检查D 、预处理器地址分配07、规范归约是指 B 。
编译原理试题

编译原理试题编译原理试题一、单项选择题1.将编译程序分成若干个“遍”是为了( B )A.提高程序的执行效率B. 使程序的结构更加清晰C.利用有限的机器内存并提高机器的执行效率D.利用有限的机器内存但降低了机器的执行效率2.不可能是目标代码的是( D )A.汇编指令代码 B.可重定位指令代码C.绝对指令代码 D.中间代码3.词法分析器的输入是( B )A.单词符号串 B.源程序C.语法单位 D.目标程序4.中间代码生成时所遵循的是( C )A.语法规则 B.词法规则C.语义规则 D.等价变换规则5.编译程序是对( D )A.汇编程序的翻译 B.高级语言程序的解释执行C.机器语言的执行 D.高级语言的翻译6.词法分析应遵循( C )A.语义规则 B.语法规则C.构词规则 D.等价变换规则7.词法分析器的输出结果是( C )A.单词的种别编码 B.单词在符号表中的位置C.单词的种别编码和属性值 D.单词属性值8.正规式M1和M2等价是指( C )A.M1和M2的状态数相等 B.M1和M2的有向弧条数相等C.M1和M2所识别的语言集相等D.M1和M2状态数和有向弧条数相等9.词法分析器作为独立的阶段使整个编译程序结构更加简洁、明确,因此,( B ) A.词法分析器应作为独立的一遍B.词法分析器作为子程序较好C.词法分析器分解为多个过程,由语法分析器选择使用.D.词法分析器并不作为一个独立的阶段10.如果L(M1)=L(M2),则M1与M2( A )A.等价 B.都是二义的C .都是无二义的D .它们的状态数相等 11.文法G :S →xSx|y 所识别的语言是( C )A .xyxB .(xyx)* c .x n yx n (n ≥0) d .x *yx *12.文法G 描述的语言L(G)是指( A )A .∈?=+*,|)(T V S G L αααB .∈?=+*)(,|)(N T V V S G L ααα C .∈?=**,|)(T V S G L ααα D .?∈?=**)(,|)(N T V V S G L ααα 13.有限状态自动机能识别( C )A .上下文无关文法B .上下文有关文法C .正规文法D .短语文法14.如果文法G 是无二义的,则它的任何句子( A ) A .最左推导和最右推导对应的语法树必定相同B .最左推导和最右推导对应的语法树可能不同 C .最左推导和最右推导必定相同D .可能存在两个不同的最左推导,但它们对应的语法树相同15.由文法的开始符经0步或多步推导产生的文法符号序列是( C ) A .短语 B .句柄 C .句型 D .句子 16.文法G :E →E+T|T T →T*P|P P →(E)|i则句型P+T+i 的句柄为( B )A .P+TB .PC .P+T+iD .i 17.文法G :S →b|∧|(T) T →T ∨S|S 则FIRSTVT(T)=( C )A .{ b ,∧,( }B .{ b ,∧,) }C .{ b ,∧,(,∨ }D .{ b ,∧,),∨ } 18.产生正规语言的文法为( D )A .0型B .1型C .2型D .3型 19.任何算符优先文法( D )优先函数。
完整版编译原理复习题及答案

编译原理复习题及答案一、选择题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.(A) 是一种典型的解释型语言。
A .BASICB .CC.FORTRAN D.PASCAL12.把汇编语言程序翻译成机器可执行的目标程序的工作是由(B) 完成的。
A. 编译器B. 汇编器C. 解释器D. 预处理器13.用高级语言编写的程序经编译后产生的程序叫(B) A .源程序B .目标程序C.连接程序 D .解释程序14.(C) 不是编译程序的组成部分。
A. 词法分析程序B. 代码生成程序C.设备管理程序D. 语法分析程序15.通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优目标代码生成等六个部分,还应包括(C)A .模拟执行器B .解释器C.表格处理和出错处理D .符号执行器16.编译程序绝大多数时间花在(D) A .出错处理B.词法分析C.目标代码生成D.表格管理17.源程序是句子的集A. 线性表(B) 可以较好地反映句子的结构。
《编译原理》期末考试复习题2023年修改整理

《编译原理》期末考试复习题一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)×1.计算机高级语言翻译成低级语言只有解释一种方式。
()×2.在编译中进行语法检查的目的是为了发觉程序中所有错误。
()√3.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。
()×4.正则文法其产生式为 A->a , A->Bb, A,B∈VN , a 、 b∈VT 。
()√5.每个文法都能改写为 LL(1) 文法。
()√6.递归下降法允许任一非终极符是直接左递归的。
()×7.算符优先关系表不一定存在对应的优先函数。
()×8.自底而上语法分析方法的要紧问题是候选式的抉择。
()×9.LR 法是自顶向下语法分析方法。
()×10.简单优先文法允许任意两个产生式具有相同右部。
()三、填空题(每空1分,共10分)1.编译程序的工作过程一般能够划分为词法分析,语法分析,语义分析,中间代码生成,代码优化等几个基本时期,同时还会伴有__ ___和 ___ _。
表格治理出错处理_2.若源程序是用高级语言编写的,__ __是机器语言程序或汇编程序,则其翻译程序称为 __ __ 。
_目标程序 _编译程序3.编译方式与解释方式的全然区别在于__ __。
是否生成目标代码_4.对编译程序而言,输入数据是__ __, 输出结果是__ ___。
_源程序 目标程序5.产生式是用于定义__ __的一种书写规则。
_语法成分6.语法分析最常用的两类方法是___ __和__ __分析法。
自上而下 _自下而上四、简答题(20分)1. 什么是句子? 什么是语言 ?答:(1)设G是一个给定的文法,S是文法的开始符号,假如S x(其中x∈VT*),则称x是文法的一个句子。
(2)设G[S]是给定文法,则由文法G所定义的语言L(G)可描述为:L(G)={x│S x,x∈VT*} 。
编译原理试题及参考答案

编译原理试题及参考答案课程测试试题(04A卷)I、命题院(部):数学与计算机科学学院II、课程名称:编译原理III、测试学期:2006-2007 学年度第1 学期IV、测试对象:数计、国交学院计科专业2004 级1、2、国交班V、问卷页数(A4):3 页VI、答卷页数(A4):4 页VII、考试⽅式:闭卷(开卷、闭卷或课程⼩论⽂,请填写清楚)VIII、问卷内容:(请⽼师在出题时安排紧凑,填空题象征性的留出⼀点空格,学⽣将所有的答案做在答题纸上的规定位置,并写清楚⼤题、⼩题的题号)⼀、填空题(共30分,30个空,每空1分)1、典型⾼级程序设计语⾔编译系统的⼯作过程⼀般分为六个阶段,即词法分析、语法分析、语义分析、中间代码⽣成、、⽬标代码⽣成。
编译阶段的两种组合⽅式是组合法和按遍组合法,这两种组合⽅式的主要参考因素都是的特征。
2、Chomsky将⽂法按其所表⽰语⾔的表达能⼒,由⾼往低分为四类:0型,1型,2型,3型⽂法。
其中,2型⽂法也称,它的所有规则α→β都满⾜:α∈,β∈ ((V N∪V T) *且,仅当β= ε时例外。
3、现代编译系统多采⽤⽅法,即在语法分析过程中根据各个规则所相联的或所对应的语义⼦程序进⾏翻译的办法。
该⽅法使⽤为⼯具来说明程序设计语⾔的语义。
4、构造与NFA M等价的正规⽂法G的⽅法如下:(1)对转换函数f(A,a)=B或f(A,ε)=B,改成形如或的产⽣式;(2)对可识别终态Z,增加⼀个产⽣式:。
5、代码⽣成要考虑的主要问题:充分利⽤的问题、选择的问题、选择的问题。
6、设有穷⾃动机M=(K,∑,f,S,Z),若当M为时,满⾜z0∈f(S,α)且z0∈Z,或当M为时,满⾜f(S,α)=P∈Z,则称符号串α∈∑*可被M所。
7、符号表中每⼀项对应⼀个多元组。
符号表项的组织可分为组织、组织、组织等。
8、对于A∈?VN 定义A的后续符号集:FOLLOW(A)={a|S=*>uAβ,a∈VT,且a∈,u∈VT*,β∈V+;若,则#∈FOLLOW(A)。
编译原理考题与答案

《编译原理》考题与答案(总16页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--[试题分类]:专升本《编译原理》_08033150[题型]:单选[分数]:21.文法所描述的语言是()的集合。
A.文法的字汇表V中终结符号组成的符号串B.文法的字汇表V中符号组成的符号串C.由文法开始符推导的终结符号串D.由文法开始符推导的符号串答案:C2.设识别文法G[S]的LR(0)活前缀的DFA中,存在一个LR(0)项目集,其中X和A为非终结符,b为终结符,则该项目集含有()冲突。
A.归约——归约B.移进——接受C.移进——待约D.移进——归约答案:D3.已知文法,()是句型PaFaFbP的最左素短语。
答案:C4.已知文法()。
A.{A,B}B.{S,A,B}C.{S}D.{S,A}答案:C5.已知字母表,下列选项中()不是字母表∑上的正规式。
A.B.C.D.答案:B6.文法产生的语言是()。
A.B.C.D.答案:D7.算符优先分析方法是总是对当前句型的()进行归约的。
A.最左素短语B.句柄C.素短语D.简单短语答案:A8.设是任意符号串,则下列为恒等式的是()。
A.B.C.D.答案:C9.局部优化指是在程序的()范围内的优化。
A.循环体B.函数体C.基本块D.全部代码段答案:C10.语言学家Chomsky将文法和语言分为四大类,其中1型文法又称为()。
A.上下文无关文法B.上下文有关文法C.短语文法D.正规文法答案:B11.词法分析器的输出结果是()。
A.单词的种别编码B.单词的种别编码和自身值C.单词在符号表中的位置D.单词自身值答案:B12.编译程序的编译方式有()种。
A. 1B. 3C. 4D. 2答案:D13.表达式:X:=(X+Y)/ Z的四元式是()。
A.(+,Y,X,T1),(/,Z,T1,T2), (:=,T2,,X)B.C.D.答案:C14.已知文法,()是该文法的句子。
编译原理历年试题及答案

《编译原理》历年试题及答案一.(每项选择2分,共20分)选择题1.将编译程序分成若干个“遍”是为了_b__。
a.提高程序的执行效率b.使程序的结构更加清晰c.利用有限的机器内存并提高机器的执行效率d.利用有限的机器内存但降低了机器的执行效率2.构造编译程序应掌握__d__。
a.源程序b.目标语言c.编译方法d.以上三项都是3.变量应当c_。
a.持有左值b.持有右值c.既持有左值又持有右值d.既不持有左值也不持有右值4.编译程序绝大多数时间花在_d___上。
a.出错处理b.词法分析c.目标代码生成d.管理表格5.词法分析器的输出结果是_c___。
a.单词的种别编码b.单词在符号表中的位置c.单词的种别编码和自身值d.单词自身值6.正规式MI和M2等价是指__c__。
a. MI和M2的状态数相等b.Ml和M2的有向弧条数相等。
C.M1和M2所识别的语言集相等d. Ml和M2状态数和有向弧条数相等7.中间代码生成时所依据的是—c。
a.语法规则b.词法规则c.语义规则d.等价变换规则8.后缀式ab+cd+/可用表达式__b_来表示。
a.a+b/c+d b.(a+b)/(c+d) c.a+b/(c+d) d.a+b+c/d9.程序所需的数据空间在程序运行前就可确定,称为____c__管理技术。
a.动态存储b.栈式存储c.静态存储d.堆式存储10.堆式动态分配申请和释放存储空间遵守___d_____原则。
a.先请先放b.先请后放c.后请先放d.任意二(每小题10分,共80分)简答题1.画出编译程序的总体结构图,简述各部分的主要功能。
2. 已知文法G[E]:E→ET+|T T→TF* | F F→F^ | a试证:FF^^*是文法的句型,指出该句型的短语、简单短语和句柄.3.为正规式(a|b) *a(a|b)构造一个确定的有限自动机。
4.设文法G(S):S→(L)|a S|aL→L,S|S(1) 消除左递归和回溯;(2) 计算每个非终结符的FIRST和FOLLOW;(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、在编译过程中,常见的中间语言形式有(逆波兰表示)、(三元式)、(四元式)和(树形表示)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空题(每空2分,共30分)
1、编译程序的整个过程可以从逻辑上划分为词法分析、 语法分析 、语义分析、中
间代码生成、 代码优化 和目标代码生成等几个阶段,另外还有两个重要的工 作是
表格管理 和出错处理
2、
规范规约中的可归约串是 句柄 ,算符优先分析中的可归约串是 最左素短语 。
3、语法分析方法主要可分为 自顶向下 和 自底向上 两大类。
4、LR(0)文法的项目集中不会出现 移进-归约 冲突和 归约-归约 冲突。
5、数据空间的动存态储分配方式可分为 栈式 和 堆式 两种。
6、
编译程序是指能将 源语言 程序翻译成 目标语言 程序的程序。
7、确定有穷自动机DFA是 NFA 的一个特例。
8、表达式 (a+b)*c 的逆波兰表示为 ab+c* 。
二、选择题(每题2分,共20分)
1、L R语法分析栈中存放的状态是识别 B 的DFA状态。
A、前缀 B、可归前缀 C、项目 D、句柄
2、 D 不可能是目标代码。
A、汇编指令代码 B、可重定位指令代码
C、绝对机器指令代码 D、中间代码
3、一个控制流程图就是具有 C 的有向图
A、唯一入口结点 B、唯一出口结点 C、唯一首结点 D、唯一尾结点
4、设有文法G[S]:S→b|bB B→bS ,则该文法所描述的语言是 C 。
A、L(G)={bi|i≥0} B、L(G)={b2i|i≥0}
C、L(G)={b2i+1|i≥0} D、L(G)={b2i+1|i≥1}
5、把汇编语言程序翻译成机器可执行的目标程序的工作是由
B 完成的。
A、编译器 B、汇编器 C、解释器 D、预处理器
6、在目标代码生成阶段,符号表用于 D 。
A、目标代码生成 B、语义检查 C、语法检查 D、预处理器地址分配0
7、规范归约是指 B 。
A、最左推导的逆过程 B、最右推导的逆过程 C、规范推导 D、最左归约逆过程
5.文法的二义性和语言的二义性是两个不同的概念。 ……………………… …( )
6.一个LL( l)文法一定是无二义的。…………………………………………… …
( )
7.在规范规约中用最左素短语来刻划可归约串。………………… ……………
( )
8.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。…………… ( )
9.编译程序是对汇编程序的翻译。 ……………………………………( )
三、 简答题(每题5分,共15分)
1、简述栈式存储管理策略; 2、何谓DAG; 3、何谓文法的二义性;
四、 给出下述文法对应的正规式 (7分)
S→ 0A| 1B
A→1S | 1
B→0S | 0
五、 已知文法G(E):
E→T | E+T | E-T
T→F | T*F | T/F
F→(E) | i
证明E+T*F是该文法的一个句型,并指出该句型的所有短语、直接短语和句柄。(8
分)
七、 设有文法G[E]:
E (E) |ε
试判断该文法是否为SLR(1)文法,若不是,请说明理由;若是请构造SLR(1)分析表。(10
分)
参考答案
一、填空题(1X20=20分)
1. 词法分析、语法分析、代码优化
2. 自上而下、自下而上
3. 五元组、DFA=(K ,∑, M, S, Z)
4. 任何一步都是对中最右非终结符进行替换
5. 分析一个文法的句子结构
6. 相邻、算符
MUL R1,R0
LD R0,D
ADD R0,1
ST R1,M
LD R1,E
SUB R0,F
MUL R0,R1
LD R1,M
DIV R1,R0
ST R1,W