版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《编译原理》软件工程2005级期终考卷
学号:姓名:
说明:1.本考卷中大写字母WVN,其他符号WVT:2、试卷中一、二两题请作在考卷上
一、概念题(15分)
1、编译过程一般分为几个阶段?各阶段的输入输出分别为什么?
2、对下列状态转换图,写出状态0的处理过程:
其中:状态2的过程为pr℃2.
3、文法G为:
SfaAB
Afa
则判断G为LL(1)文法的条件是:
二、判断题(10分。注:每答对一题得+2分;答错一题得.2分;不答者得0分)
1、设£为{a,b},则a,ba,{E},。都是£上的正规式。()
2、对于上下文无关文法G[S],若S=>aAB=a伊/则A./一定是一条产生式规则,
其中(VTVVN)*()
3、对于逆波兰后缀式,无论从哪头开始分析均可得到唯一正确的分解。()
4、LR(0)分析法是一种规范归约法。()
5、算符优先分析法只能用来分析算符优先文法。()
三、(10分)设文法G3为:S-AaBc
AfAa|a
Bfb
求句型AaBc的最左素语。
四、(20分)设文法G[S]为
S^aAcB问:1、该文法是否为算符文法,为什么?
A^Ab|b2、构造算符优先关系表。
B-d3、该文法是否可改造为LL(1)文法,为什么?
五、(本题20分)设文法G为:E^eAfleBg
A->aA|a
B^Bbja
对于输入串eaaaf,采用LR(0)、LL(1).SLR(1)等方法中合适的一种进行分析。
六、(25分)有作控制用的布尔表达式文法G[E]及其语义动作如下:
1、构造SLR(1)分析表(若不是SLR(D)的,则说明理由)
2、分析布尔式aVb<c的四元式生成过程,并画出最后的真假链表。
3、给出语句IFaVb<cTHENI:=m*nELSEI:=m+n的完整四元式序列。
文法G[E]:
⑴E-i⑴姆⑵{E.TC:=NXQ;E.FC=NXQ+1;
GEN(J<,ENTRY(i(,)),ENTRY(i⑵),0);GEN(J,0)}
⑵EfAE⑴{E.FC:=E(,).FC;E.FC::MERGE(A.TC,E(,).TC)}
(3)A->BV{BACKPATCH(B.FC,NXQ);A.TC:=B.TC)
(4)B—i{B.TC:=NXQ;B.FC:=NXQ+1;
GEN(Jnz,ENTRY(i),_,0);GEN(J,0)}
软件0501班编译原理考试答案及评分细则
一:1、(5分)
源程序
_____________I______________
词法分析
I单词符号
语法分析
]语法单位
语义分析与中间代码产生
]中间代码
优化
]中间代码
目标代码生成
目标代码
2、(5分)
Proc0:
ge(char();
CASEcharOF
‘a'/b',•・•,'z':
,A'B,,・・♦,'Z':proc1
elseerror
ENDCASE
3、(5分)
条件:
(1)文法G不含左递归;
(2)对于每个非终结符,First(a)First(P)>First(丫)两两不相交;
(3)对于每个非终结符,不含能推出£的产生式,故不考虑非终结符的
First集和Follow集相交的情况。
二、(每小题2分)
1、X;2、X;3、V;4、V;5、Vo
三、(10分)
方法一:
句型AaBc的语法树为:
故AaBc即为所求最左素短语。
方法二:
FlRSTVT(S)={a},LASTVT(S)={c},
FIRSTVT(A)={a},LASTVT(A)={a),
FIRSTVT(B)={b},LASTVT(B)={b}o
则有:
abc#
a><二>
b>>
c>
#<<<=
对于#AaBc#,#<a,a=c,c>#,则最左素短语为AaBc。
四、(20分)
1、该文法是算符文法。因为其任一产生式的右部都不含相继(并列)的非
终结符,即不含如下形式…QR…的产生式右部。(4分)
2、FIRST(S)={a},LAST(S)={c},
FIRST(A)={b},LAST(A)={b},
FIRST(B)={d},LAST(B)={d}o(3分)
构造算符优先关系表如下:(5分)
abcd
a<=>
b>>>
c<>
d>
#<<<=
3、该文法可以改造为LL(1)文法。(8分)
原因:
①消除左递归:S-aAcB
AfbA'
A'-*bA,|£
B-d;
②FIRST(A)={a},FOLLOW(A)={c),
FIRST(A,)={b,e},FOLLOW(Ay)={c},
FIRST(B)={d},FOLLOW(B)={#},
FIRST(S)={a),FOLLOW(S)={#},
对于每个非终结符的各个产生式的FIRST集两两不相交;
③对于A',FIRST(A)AFOLLOW(A)=①。
综上所述,原文法可以改造成LL(1)文法。
五、(20分)
原文法不是LL(1)文法,故不能直接使用LL(1)分析法进行分析。
步骤如下:
1、拓广文法:①E,-E②E-eAf
③EfeBg④AfaA
⑤Afa⑥BfBb
⑦B-a(2分)
2、项目集规范族:
(6分)
由此项目集规范族可判断,原文法非LR(0)文法,故不能直接使用LR(0)
分析法进行分析。因此,使用SLR(1)分析法分析原文法。
3、构造SLR(1)分析表如下:
FOLLOW(A)={f};FOLLOW(B)={b,g};FOLLOW(E)={叽
ACTIONGOTO
状态abefg#ABE
0S21
1acc
2S435
3S6
4S8r7r5r77
5S10S9
6r2
7r4
8S8r57
9r3
10r6r6
(6分)
4、分析输入串eaaaf如下:
步骤状态符号输入串动作
10#eaaaf#预备
202Ueaaaf#移进
3024#eaaaf#移进
40248#eaaaf#移进
502488#eaaaf#移进
602487#eaaAf#归约
70247#eaAf#归约
8023#aAf#归约
90236#aAf#移进
1001#E#归约
11acc接受
(6分)
六、(25分)
1、步骤:
(1)拓广文法:①E'-E②E-i⑴</
③EfAE⑴④AfBV
⑤B-i(2分)
(2)项目集规范族:
8______
i⑴<i.⑵
(6分)
(3)SLR(1)分析表如下:
FOLLOW(E)={#};FOLLOW;A)={i}:FOLLOW(B)={V)0
ACTIONGOTO
状态i<VnEAB
0S2134
1acc
2S6r4
3S2734
4S5
5r3
6S8
7r2
8rl
(6分)
2、分析输入串aVb〈c如下:
步骤状态栈符号输入串动作四元式
10aVb<c#预备
202Vb<c#移进
B.TC=1,B.FC=2;
Gen(Jnz,a,0);
304#BVb<c#归约
Gen(J,3);
4045#BVb<c#移进
A.TC=B.TC=1;
503#Ab<c#归约BackPatch(2,3);
6032#Ai<c#移进
70326#Ai<C#移进
803268#Ai<i#移进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度钢材行业投资分析与风险评估合同
- 2025版学校体育器材租赁与维护服务协议3篇
- 教育科技在心理健康领域的创新应用
- 二零二五年度打字员与出版社合同:图书编辑与排版服务协议2篇
- 社交媒体在小学数学教学中的作用与影响
- 教育信息化背景下的探究式学习法研究
- 2025年度能源管理创业合伙人共同投资协议4篇
- 二零二五年度成都离婚协议公证办理材料审核及处理合同4篇
- 企业可持续发展与创新型组织架构的关系
- 小学阶段数学与信息技术课程的资源整合
- 2025-2030年中国MPV汽车市场全景调研及投资策略分析报告
- 二零二五年度数据存储与备份外包服务协议2篇
- 2024-2025学年初中七年级上学期数学期末综合卷(人教版)含答案
- 第五单元《习作例文:风向袋的制作》说课稿-2024-2025学年五年级上册语文统编版
- 【课件】第三课 蒙娜丽莎 课件高中美术湘美版美术鉴赏
- 新媒体研究方法教学ppt课件(完整版)
- 2020新版个人征信报告模板
- 东芝空调维修故障代码汇总
- 建筑物成新率评定标准
- 工艺管道仪表流程图(共68页).ppt
- 五项管理行动日志excel表格
评论
0/150
提交评论