77范文网 - 专业文章范例文档资料分享平台

编译原理期末试题(8套含答案+大题集)

来源:网络收集 时间:2018-12-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

《编译原理》期末试题(五)

一、单项选择题(共10小题,每小题2分,共20分)

1.语言是

A.句子的集合 B.产生式的集合 C.符号串的集合 D.句型的集合 2.编译程序前三个阶段完成的工作是 A.词法分析、语法分析和代码优化 B.代码生成、代码优化和词法分析

C.词法分析、语法分析、语义分析和中间代码生成 D.词法分析、语法分析和代码优化

3.一个句型中称为句柄的是该句型的最左

A.非终结符号 B.短语 C.句子 D.直接短语 4.下推自动机识别的语言是

A.0型语言 B.1型语言 C.2型语言 D.3型语言

5.扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即

A. 字符 B.单词 C.句子 D.句型 6.对应Chomsky四种文法的四种语言之间的关系是 A.L0?L1?L2?L3 B.L3?L2?L1?L0 C.L3=L2?L1?L0 D.L0?L1?L2=L3 7.词法分析的任务是

A.识别单词 B.分析句子的含义 C.识别句子 D.生成目标代码 8.常用的中间代码形式不含

A.三元式 B.四元式 C.逆波兰式 D.语法树 9. 代码优化的目的是

A.节省时间 B.节省空间

C.节省时间和空间 D.把编译程序进行等价交换 10.代码生成阶段的主要任务是 A.把高级语言翻译成汇编语言 B.把高级语言翻译成机器语言

C.把中间代码变换成依赖具体机器的目标代码 D.把汇编语言翻译成机器语言

二、填空题(本大题共5小题,每小题2分,共10分)

1.编译程序首先要识别出源程序中每个(单词),然后再分析每个(句子)并翻译其意义。 2.编译器常用的语法分析方法有(自底向上)和(自顶向下)两种。

3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的(分析),中间代码生成、代码优化与目标代码的生成则是对源程序的(综合)。

4.程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即(静态存储分配)方案和(动态存储分配)方案。

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

第1页共6页

三、名词解释题(共5小题,每小题4分,共20分)

1.词法分析

词法分析的主要任务是从左向右扫描每行源程序的符号,按照词法规则 从构成源程序的字符串中识别出一个个具有独立意义的最小语法单位, 并转换成统一的内部表示(token),送给语法分析程序。 2.LL(1)文法

若文法的任何两个产生式A ? ? | ?都满足下面两个条件: (1)FIRST(? ) ? FIRST(? ) = ?;

(2)若? ?* ? ,那么FIRST(? ) ? FOLLOW( A ) = ?。

我们把满足这两个条件的文法叫做LL(1)文法,其中的第一个L代表从左 向右扫描输入,第二个L表示产生最左推导,1代表在决定分析器的每步 动作时向前看一个输入符号。除了没有公共左因子外,LL(1)文法还有一 些明显的性质,它不是二义的,也不含左递归。

3.语法树

句子的树结构表示法称为语法树(语法分析树或语法推导树)。 给定文法G=(VN,VT,P,S),对于G的任何句型都能构造与之关联的 语法树。这棵树具有下列特征: (1)根节点的标记是开始符号S。

(2)每个节点的标记都是V中的一个符号。 (3)若一棵子树的根节点为A,且其所有直接子孙的标记从左向右的排列 次序为A1A2…AR,那么A?A1A2…AR一定是P中的一条产生式。 (4)若一标记为A的节点至少有一个除它以外的子孙,则A?VN。 (5)若树的所有叶节点上的标记从左到右排列为字符串w,则w是文法G 的句型;若w中仅含终结符号,则w为文法G所产生的句子。 4.LR(0)分析器

所谓LR(0)分析,是指从左至右扫描和自底向上的语法分析,且在分析的 每一步,只须根据分析栈当前已移进和归约出的全部文法符号,并至多再 向前查看0个输入符号,就能确定相对于某一产生式左部符号的句柄是否 已在分析栈的顶部形成,从而也就可以确定当前所应采取的分析动作 (是 移进还是按某一产生式进行归约等)。

5.语言和文法

文法就是语言结构的定义和描述,是有穷非空的产生式集合。 文法G定义为四元组的形式:

G=(VN,VT,P,S) 其中:VN 是非空有穷集合,称为非终结符号集合;VT 是非空有穷集合, 称为终结符号集合;P是产生式的集合(非空);S是开始符号(或识别符号)。 这里,VN∩VT=?,S?VN。V=VN∪VT,称为文法G的字母表,它是出现 文法产生式中的一切符号的集合。

文法G所描述的语言用L(G)表示,它由文法G所产生的全部句子组成,即

第2页共6页

L(G)={x| S?*x,其中S为文法开始符号,且x?VT? } 简单的说,文法描述的语言是该文法一切句子的集合。

四、简答题(共4小题,每小题5分,共20分)

1.编译程序和高级语言有什么区别?

用汇编语言或高级语言编写的程序,必须先送入计算机,经过转换成用机器 语言表示的目标程序(这个过程即编译),才能由计算机执行。执行转换过程 的程序叫编译程序。汇编程序是指没有编译过的汇编语言源文件。编译程序转 换过的叫目标程序,也就是机器语言。

编译程序的工作情况有三种:汇编型、解释型和编译型。汇编型编译程序用来 将汇编语言编写的程序,按照一一对应的关系,转换成用机器语言表示的程序。 解释型编译程序将高级语言程序的一个语句,先解释成为一组机器语言的指令, 然后立即执行,执行完了,取下一组语句解释和执行,如此继续到完成一个程序 止。用解释型编译程序,执行速度很慢,但可以进行人和计算机的\对话\,随时 可以修改高级语言的程序。BASIC语言就是解释型高级语言。编译型编译程序将 级语言编写的程序,一次就会部翻译成机器语言表示的程序,而且过程进行很快, 在过程中,不能进行人机对话修改。FORTRAN语言就是编译型高级语言。 2.编译程序的工作分为那几个阶段?

词法分析、语法分析和语义分析是对源程序进行的分析(称为编译程序的前端), 而中间代码生成、代码优化和代码生成三个阶段合称为对源程序进行综合(称为 编译程序的后端),它们从源程序的中间表示建立起和源程序等价的目标程序。 3.简述自下而上的分析方法。

所谓自下而上分析法就是从输入串开始,逐步进行“归约”,直至归约到文法的 开始符号;或者说从语法树的末端开始,步步向上“归约”,直到根节点。 4.简述代码优化的目的和意义。

代码优化是尽量生成“好”的代码的编译阶段。也就是要对程序代码进行 一种等价变换,在保证变换前后代码执行结果相同的前提下,尽量使目 标程序运行时所需要的时间短,同时所占用的存储空间少。

五、综合应用题(共3小题,每小题10分,共30分)

1.证明下述文法G:

S?aSbS|aS|d

是二义性文法。 解:

一个文法,如果存在某个句子有不只一棵语法分析树与之对应,那么称这个 文法是二义性文法。

句子aadbd有两棵语法树。如下图:

a a S b S d

S S a S S S d

a d 第3页共6页

S d

b

(1) (2)

由此可知,S?aSbS|aS|d定义的文法是二义性文法。 2.对于文法G[S]:S?AB,A?Aa|bB,B?a|Sb求句型baSb的全部短语、直接短语和句柄?

S

句型baSb的语法树如图五(2)所示。

A B

b B S b

a 解:baSb为句型baSb的相对于S的短语,ba为句型baSb的相对于A的短语,Sb为句型baSb的相对于B的短语,且为直接短语,a为句型baSb的相对于B的短语,且为直接短语和句柄。

3.设有非确定的有自限动机NFA M=({A,B,C},{0,1},?,{A},{C}),其中: ? (A,0)={C} ? (A,1)={A,B} ? (B,1)={C} ? (C,1)={C}。请画出状态转换距阵和状态转换图。

解:状态转换距阵为: ? A B C

状态转换图为

0 C ? ? 1 A,B C C 1 1 AB1 1 C10 《编译原理》期末试题(六)

编译原理 样题

第4页共6页

【 】1.____型文法也称为正规文法。

[A] 0 [B] 1 [C] 2 [D] 3 【 】2.____文法不是LL(1)的。

[A] 递归 [B] 右递归 [C] 2型 [D] 含有公共左因子的 【 】3. 文法E→E+E|E*E|i的句子i*i+i*i的不同语法分析树的总数为______。

[A]1 [B]3 [C]5 [D]7 【 】4.四元式之间的联系是通过 实现。

[A]临时变量 [B]指示器 [C]符号表 [D]程序变量 【 】5.同心集合并可能会产生的新冲突为 。

[A]二义 [B]移进/移进 [C]移进/归约 [D]归约/归约 【 】6.代码优化时所依据的是 。

[A]语法规则 [B]词法规则 [C]等价变换规则 [D]语义规则

【 】7.表达式a-(-b)*c的逆波兰表示为 。

[A]a-b@c* [B]ab@c*- [C]ab@- [D]ab@c-* (注:@为单

目减运算符)

【 】8.过程的DISPLAY表记录了 。

[A]过程的连接数据 [B]过程的嵌套层次 [C]过程的返回地址 [D]过程的入口地址

二 填空题

3.对于文法G1和G2,若有L(G1)=L(G2) (或 G1和G2的语言相同),则称文法G1和G2是等价的。

4.对于文法G[E]:E→T|E+T T→F|T*F F→P^F|P P→(E)|i,句型T+T*F+i的句柄是T ,最左素短语是 T*F。 5.最右推导的逆过程称为规范归约 ,也称为 最左归约。

6.规范规约中的可规约串是句柄 ,算符优先分析中的可规约串是 最左素短语 7.(A∨ B)∧(C∨ ?D∧ E) 的逆波兰式是AB∨CD?E∧∨∧。 8.在属性文法中文法符号的两种属性分别称为继承属性 和综合属性(次序可换)。 9.符号表的每一项是由名字栏和 地址分配 两个栏目组成。在目标代码生成阶段,符号表是 地址分配 的依据。

10.一个过程的DISPLAY表的内容是它的 直接外层 的DISPLAY表的内容加上本过程的SP的地址

三 有穷自动机M接受字母表?={0,1}上所有满足下述条件的串:每个1都有0直接跟在右边。构造一个最小的DFA M及和M等价的正规式。 【】【】

第5页共6页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库编译原理期末试题(8套含答案+大题集)在线全文阅读。

编译原理期末试题(8套含答案+大题集).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/381831.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: