奥鹏作业答案-谋学网-专业的奥鹏在线作业答案辅导网【官网】

 找回密码
 会员注册

微信登录,扫一扫

手机号码,快捷登录

VIP会员,3年作业免费下 !奥鹏作业,奥鹏毕业论文检测新手作业下载教程,充值问题没有找到答案,请在此处留言!
2022年5月最新全国统考资料投诉建议,加盟合作!点击这里给我发消息 点击这里给我发消息
奥鹏课程积分软件(2021年最新)
查看: 1942|回复: 4

西安电子科技大学网络与继续教育学院 2020 学年上学期 《编译原理与技术》期末考...

[复制链接]
发表于 2020-4-27 09:22:39 | 显示全部楼层 |阅读模式
谋学网

学习中心/函授站_



姓 名        学 号



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

2020 学年上学期

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

(综合大作业)

题号        一        二        三        四        总分
                                       
题分        10        20        30        40       
                                       
得分                                       
                                       

考试说明:

1、大作业试题于 2020 年 4 月 23 日公布,2020 年 4 月 24 日至 2020 年 5 月 10 日在线上传大作业答卷(一张图片对应一张 A4 纸答题纸),要求拍照清晰、上传完整;

2、考试必须独立完成,如发现抄袭、雷同均按零分计;

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

一、单选题(10 分,每空 2 分)                                                                                                               
1.        从一个 C/C++源程序产生其可执行程序的过程中,需要经过        。
                                                                                                                                               
        A. 编译-汇编-预处理-链接                        B. 预处理-编译-链接-汇编                               
        C. 预处理-编译-汇编-链接                        D. 链接-预处理-编译-汇编                               
2.        对于正规式 0(1|10)*1,                是其正规集的元素。                                                               
        A. 1010        B.  0101                        C. 0011                D. 0110                               
3.        递归下降分析是一种                        的语法分析方法。                                                               
                                                                                                                       
        A. 自上而下        B. 自下而上        C. 自左至右        D. 自右至左
4.        与逆波兰式 ab+c*d+对应的中缀表达式是        。                                                               
                                                                                                                       
        A. a+b+c*d        B. (a+b)* c+d        C. (a+b)* (c+d)        D. a+b*c+d
5.        在表达式 t:=b+3*x        中,        作为左值出现(其中,“:=”表示赋值)。
        A. b        B. x                                        C. 3                D. t                               
二、填空题(20 分,每空 2 分)                                                                                                               
1.        编译程序的工作过程中,可划分为词法分析、语法分析、                                        、中间代码生
        成、代码优化、                                                                等阶段,以及出错处理和符号表管理。
                                                                                       
2.        常用的动态存储分配中,                        分配由系统进行管理,                        分配由程序员根
        据需要申请和释放。                                                                                                                       



第 1 页 (共 2 页)


3.        用 SLR 方法实现语法分析时,典型的操作有__________、__________、接受和报错。

4. 从一个上下文无关文法的开始符号出发,反复用其        的右部替换文法符号


序列最左边的非终结符,直到产生称为句子的终结符号序列,该过程称

为        。


5. 已知有二维数组 arr[0..4, 0..6],其元素以行为主序存放(设每个元素占 2 个存储单元),

若第一个元素 arr[0,0]的地址为 arr,则元素 arr[1,4]的地址计算式是        ,最后
一个元素 arr[4,6]的地址计算式是                。               

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

1.        请分别写出传值调用、引用调用和传名调用时,下述代码的输出结果。

program main(input,output)

procedure f(a,b)

begin

a := a - b;

b := a * b + 1;

end;

begin

x := 1; y := 5;

f(y,x);

print(x,y);

end.

2.        请给出布尔表达式 A or B 和 A and B 短路计算的控制逻辑。

3.        给定文法如下,对于句型 T*-F+id,给出该句型对应的分析树,并指出句型中的所有短语、直接短语和句柄。

E→E+T | T T→T*F | F F→-F | id

四、综合题(40 分)

1.(12 分)已知一个 NFA 如下图所示。

a,b        a,b

  b        b

0     1     2

<1>(4 分)写出两个该自动机可识别的字符串,以及该自动机等价的正规式 r;<2>(8 分)用子集法构造识别 r 的 DFA 及最小 DFA。

2.(10 分)设有文法 G[S]:S→aBc|bAB,        A→aAb|b,        B→b|ε,计算非终结符 S、A、B

的 FIRST 和 FOLLOW 集合。

3.(14 分)某表达式的语法制导翻译方案如下(运算符-,*,+的优先级依次递减)。

(1) M→ε        { M.stat:=nextstat; }
(2) E→ E1  + M E2        { backpatch(E1.fc,M.stat);
E.tc:=merge(E1.tc,E2.tc); E.fc := E2.fc; }
(3) E→ E1  * M E2        { backpatch(E1.tc, M.stat);
E.fc:=merge( E1.fc , E2.fc); E.tc:=E2.tc; }
(4) E→ - E1        { E.tc:=E1.fc; E.fc:=E1.tc; }

(5) E→ id        { E.tc:=mkchain(nextstat); E.fc:=mkchain(nextstat+1);

emit('if' id.place 'goto _'); emit('goto _'); } <1>(8 分)给出表达式 p*-a+b 的注释分析树;

<2>(6 分)根据上述翻译方案,生成表达式 p*(-a)+b 的三地址码序列(设 nextstat 的初始值为 1)。


第 2 页 (共 2 页)
奥鹏作业答案,奥鹏在线作业答案
发表于 2020-4-27 10:02:30 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2020-4-27 10:38:51 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2020-4-27 11:23:15 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2020-4-28 17:26:16 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

 
 
客服一
客服二
客服三
客服四
点这里给我发消息
点这里给我发消息
谋学网奥鹏同学群2
微信客服扫一扫

QQ|关于我们|联系方式|网站特点|加入VIP|加盟合作|投诉建议|法律申明|Archiver|小黑屋|奥鹏作业答案-谋学网 ( 湘ICP备2021015247号 )

GMT+8, 2024-3-29 10:31 , Processed in 0.103842 second(s), 19 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表