完整中南大学软件学院编译原理2014年期末考试试卷及参考答案
《编译原理》2014年期终考卷
学号:
姓名:
说明:1本考卷中大写字母∈VN,其他符号∈VT
2、试卷中一、二两题请作在考卷上
一、概念题(20分)1、编译过程一般分为几个阶段?各阶段的输入输出分别为什么?
2、写出ab)cd)的逆波兰式三元式,四元式。
二、判断题10分。注:每答对一题得2分;答错一题得2分;不答者得0分
1、设∑为{a,b},则aba∑,都是∑上的正规式
(
)
2、对于上下文无关文法G[S,若SαABαβγ则A一定是一条产生式规则,其中αβγ
∈(VT∨VN*
(
)
3、对于逆波兰后缀式无论从哪头开始分析均可得到唯一正确的分解。(
4、LR(0)分析法是一种规范归约法。
(
)
5、算符优先分析法只能用来分析算符优先文法。
(
三、(20分)∑{a,b,c设计DFAM以b开头且只含一个b。并用程序实现
四、(30分设文法G[S为
SaAcBe问:1、构造算符优先关系表分析abbcbe。
AAb|b
2、消除左递归
Bd
五、(本题20分)
设文法G为:SSaTTTaS|b
1、写出G的拓广文法
2、画出活前缀识别自动机
3、G是否为SLR(1)?若是,构造分析表,若不是,说明原因。
一、20分)
软件2014班编译原理考试答案及评分细则
f完整中南大学软件学院编译原理2014年期末考试试卷及参考答案1。
源程序
词法分析
单词符号
语法分析
语法单位
语义分析与中间代码产生中间代码
优化中间代码
目标代码生成目标代码
Proc0getcharCASEcharOF
‘a’’b’…’z’‘A’’B’…’Z’proc1
elseerrorENDCASE
2、
波兰:abcd*三元:(1(ab)(2cd)3)*,(1,(2))四元:(1(a,bT1)2,cd,T2)(3)(*,T1T2,T3)
二、(每小题2分)
1、×2、×3、√;4、√;5、√
三、(20分)
1。
2。
f四、30分)1、FIRSTVTS{a}FIRSTVT(A)b}
完整中南大学软件学院编译原理2014年期末考试试卷及参考答案
LASTVT(S){e}LASTVTA)b,
FIRSTVT(B){d
LASTVT(Bd。
构造算符优先关系表如下:
a
b
c
d
e
#
a
〈
〉
b
〉
〉
c
〈
〉
d
e
#
〈
〈
〈
2、消除左递归:S→aAcBeA→bA’A→bA’|εB→d
五、(20分)1、1S’S
(2)SSaT3ST
4TaS
(5Tb
2、略
3、不是SLR1)因为状态②⑦有移近规约冲突且follow(S)中有a,移近规约冲突不可解决。
所以不是
f完整中南大学软件学院编译原理2014年期末考试试卷及参考答案
知识总结:
(1r