网站大量收购闲置独家精品文档,联系QQ:2885784924

西安电子科技大学2020秋 编译原理与技术(大作业)答案.doc

西安电子科技大学2020秋 编译原理与技术(大作业)答案.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第PAGE1页(共2页)

学习中心/函授站_

姓名 学号

西安电子科技大学网络与继续教育学院

2020学年下学期

《编译原理与技术》期末考试试题

(综合大作业)

题号

总分

题分

10

20

30

40

得分

考试说明:

1、大作业试题于2020年10月15日公布:

毕业班学生于2020年10月15日至2020年11月1日在线上传大作业答卷;

非毕业班学生于2020年10月22日至2020年11月8日在线上传大作业答卷;

上传时一张图片对应一张A4纸答题纸,要求拍照清晰、上传完整;2、考试必须独立完成,如发现抄袭、雷同均按零分计;

3、答案须用《西安电子科技大学网络与继续教育学院标准答题纸》手写完成,要求字迹工整、卷面干净。

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

1、编译器和解释器是两种高级语言处理程序,与编译器相比,B 。A.解释器不参与运行控制,程序执行的速度慢B.解释器参与运行控制,程序执行的速度慢C.解释器参与运行控制,程序执行的速度快D.解释器不参与运行控制,程序执行的速度快

2、给定文法A→bA|ca,B不是该文法句子。

A.bbca B.bcabca C.ca D.bca

3、B是与规范归约(最左归约)互逆的一个过程。A.最左推导 B.最右推导 C.词法分析 D.语义分析4、与逆波兰式abc*+d+对应的中缀表达式是B。

A.a+b+c*d B.(a+b)*c+d C.(a+b)*(c+d) D.a+b*c+d

5、从编译程序的语法分析角度看,源程序是句子的集合,B可以较好地反映句子的结构。

A.线性表 B.树 C.完全图 D.堆栈

二、填空题(每空2分,共20分)

1、编译程序的工作过程可划分为词法分析、语法分析、 语义分析、中间代码生成、代码优化、目标代码生成等阶段,符号表管理和出错处理是编译程序各阶段都涉及到的工作。

2、递归下降分析法和预测分析法是自顶向下的语法分析方法。

3、用LR方法实现语法分析时,典型的操作有移进、归约、接受和报错。

4、识别上下文无关语言的自动机是下推自动机。

5、数组元素的地址计算公式由两部分组成,一部分是不变部分,它在编译

时确定;另一部分是可变部分,它在运行时确定。

三、简答题(每小题10分,共30分)

1、简述从正规式构造词法分析器的一般方法和过程。

答案:

有了正规式和有限自动机的理论基础后,就可以构造出编译程序的词法分析模块。构造词法分析器的一般步骤如下。

(1)用正规式描述语言中的单词构成规则。

(2)为每个正规式构造一个NFA,它识别正规式所表示的正规集。

(3)将构造出的NFA转换成等价的DFA。

(4)对DFA进行最小化处理,使其最简。

(5)从DFA构造词法分析器。

2、请列举三种常用的中间代码?采用中间代码有什么好处?

答案:

常用的中间代码:三地址码,后缀式,DAG图。中间代码的特点是与具体机器(指令系统)无关;采用中间代码可以明确区分前端与后端;便于优化和移植。

解释:编译器各阶段的完整输出,均可以被认为是源程序的某种中间表示。本章讨论的是中间代码生成器输出的中间表示,称之为中间代码。中间代码实际上应起一个编译器前端与后端分水岭的作用。为此要求中间代码具有如下特性,以便于编译器的开发移植和代码的优化:(1)便于语法制导翻译;(2)既与机器指令的结构相近,又与具体机器无关。

3、下图所示的分析树用到了某个上下文无关文法的所有产生式。

给出该文法的所有非终结符号集合N和终结符号集合T。

给出该文法的产生式集合。

S

a A c B

A a BbS cA

c b Bd c

ε

答案:

N={S,A,B}

T={a,b,c,d}

S→aAcB|BdA→AaB|cB→bScA|b|ε

四、综合题(40分)

1、(14分)有NFAN如下图所示。

b a a

b

1 2 a 3

a

4

1举两个例子说明该NFA可以识别的字符串;

2求出N的最小DFAD;

3给出N所识别语言的正规式r。

答案:

1该NFA可以识别的字符串:ab、aba

2确定化:

{1} 记为A,初态

smove(A,a)={2} 记为

文档评论(0)

lhmibtf + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档