编译原理考试试题.docx
- 文档编号:9484459
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:13
- 大小:40.18KB
编译原理考试试题.docx
《编译原理考试试题.docx》由会员分享,可在线阅读,更多相关《编译原理考试试题.docx(13页珍藏版)》请在冰豆网上搜索。
编译原理考试试题
《编译原理》考试试题
(所有答案必须写在答题纸上)
一、(5X6分)回答下列问题:
1•什么是S-属性文法什么是L-属性文法它们之间有什么关系
2•什么是句柄什么是素短语
3•划分程序的基本块时,确定基本块的入口语句的条件是什么
4•运行时的DISPLAY表的内容是什么它的作用是什么
5.对下列四元式序列生成目标代码:
A:
=B*C
D:
=E+F
G:
=A+D
H:
=G*2
其中,H是基本块出口的活跃变量,R0和R1是可用寄存器
二、(8分)设={0,1}上的正规集S由倒数第二个字符为1的所有字符串组成,请
给出该字集对应的正规式,并构造一个识别该正规集的DFA
三、(6分)写一个文法使其语言为L(G)={anbmambnIm,n>1}。
四、(8分)对于文法G(E):
ET|E+T
TF|T*F
F(E)|i
1.写出句型(T*F+i)的最右推导并画出语法树。
2.写出上述句型的短语,直接短语、句柄和素短语。
五、(12分)设文法G(S):
SSiA|A
AAB|B
B)A*|(
1•构造各非终结符的FIRSTVT和LASTVT集合;
2•构造优先关系表和优先函数。
六、(9分)设某语言的do-while语句的语法形式为
SdoS⑴WhileE
其语义解释为:
直
/、
假
针对自下而上的语法分析器,按如下要求构造该语句的翻译模式:
(1)写出适合语法制导翻译的产生式;
(2)写出每个产生式对应的语义动作。
翻译成四元
七、(8分)将语句if(A
=C+D;
式。
八、(10分)设有基本块如下:
T1:
=S+R
T2:
=3
T3:
=12/T2
T4:
=S/R
A:
=T1-T4
T5:
=S+R
B:
=T5
T6:
=T5*T3
B:
=T6
(1)画出DAGS;
⑵设A,B是出基本块后的活跃变量,请给出优化后的四元式序列
九、(9分)设已构造出文法G(S):
⑴SBB
(2)BaB(3)Bb
的LR分析表如下
状态
ACTION
GOTO
a
b
#
S
B
0
s3
s4
1
2
1
acc
2
s6
s7
5
3
s3
s4
8
4
r3
r3
5
r1
6
s6
s7
9
7
r3
8
r2
r2
9
r2
假定输入串为abab,请给出LR分析过程(即按照步骤给出状态,符号,输入串的变化过程)。
(END
《编译原理》考试试题
(所有答案必须写在答题纸上)
一、回答下列冋题:
(30分)
1•什么是S-属性文法什么是L-属性文法它们之间有什么关系
解答:
S-属性文法是只含有综合属性的属性文法。
(2分)
L-属性文法要求对于每个产生式AX1X2…Xn,其每个语义规则中的每个属性或者是综合属性,或者是Xj的一个继承属性,且该属性仅依赖于:
(1)产生式Xj的左边符号X1,X2…Xj-1的属性;
(2)A的继承属性。
(2分)
S-属性文法是L-属性文法的特例。
(2分)
2•什么是句柄什么是素短语
一个句型的最左直接短语称为该句型的句柄。
(3分)素短语是这样的一个短语,它
至少包含一个终结符并且不包含更小的素短语。
(3分)
3•划分程序的基本块时,确定基本块的入口语句的条件是什么
解答:
(1)程序第一个语句,或
(2)能由条件转移语句或无条件转移语句转移到的语句,或
(3)紧跟在条件转移语句后面的语句。
4.(6分)运行时的DISPLAY表的内容是什么它的作用是什么
答:
DISPLA丫表是嵌套层次显示表。
每当进入一个过程后,在建立它的活动记录区的同时建立一张嵌套层次显示表diaplay.假定现在进入的过程层次为i,则它的
diaplay表含有i+1个单元,自顶向下每个单元依次存放着现行层、直接外层、…、直至最外层(主程序,0层)等每层过程的最新活动记录的起始地址。
通过DISPLAY
表可以访问其外层过程的变量。
5.(6分)对下列四元式序列生成目标代码:
A:
=B*C
D:
=E+F
G:
=A+D
H:
=G*2
其中,H是基本块出口的活跃变量,R0和R1是可用寄存器
答:
LDR0,B
MULRO,C
LDR1,E
ADDR1,F
ADDRO,R1
MULRO,2
STRO,H
二、设={0,1}上的正规集S由倒数第二个字符为1的所有字符串组成,请给出该字集对应的正规式,并构造一个识别该正规集的DFA(8分)
答:
构造相应的正规式:
(0|1)*1(0|1)(3分)
NFA:
(2分)
11
00
确定化:
(3分)
I
丨0
打
{0,1,2}
{1,2}
{1,2,3}
{1,2}
{1,2}
{1,2,3}
{1,2,3}
{1,2,4}
{1,2,3,4}
{1,2,4}
{1,2}
{1,2,3}
{123,4}
{1,2,4}
{1,2,3,4}
11
、写一个文法使其语言为L(G)={anbmambn|m,n>1}。
(6分)
答:
文法G(S):
SaSb|B
BbBa|ba
四、对于文法G(E):
(8分)
ET|E+T
TF|T*F
F(E)|i
1.写出句型(T*F+i)的最右推导并画出语法树。
2.写出上述句型的短语,直接短语、句柄和素短语
E
答:
1.(4分)
ETF(E)(E+T)(E+F)
(E+i)(T+i)(T*F+i)
2.(4分)
短语:
(T*F+i),T*F+i,T*F,i
直接短语:
T*F,i
句柄:
T*F
素短语:
T*F,i
五、设文法G(S):
(12分)
SSiA|A
AAB|B
B)A*|(
3•构造各非终结符的FIRSTVT和LASTVT集合;
4•构造优先关系表和优先函数。
(12分)
答:
(6分)
FIRSTVT(S)={i,+,),(}
FIRSTVT(A)={+,),(}
FIRSTVT(B)={),(}
LASTVT(S)={i,+,*,(}
LASTVT(A)={+,*,(}
LASTVT(B)={*,(}
优先关系表:
(3分)
i
+
(
)
*
i
>
<
<
<
+
>
>
<
<
>
(
>
>
>
)
<
<
<
*
>
>
>
优先函数:
(3分)
i
+
(
)
*
f
2
6
6
1
6
g
1
4
6
6
1
六、设某语言的do-while语句的语法形式为(9分)
SdoS⑴WhileE
其语义解释为:
1
S1)的代码
i
E的代码一
n
直
/、
假
针对自下而上的语法分析器,按如下要求构造该语句的翻译模式:
(1)写出适合语法制导翻译的产生式;
(2)写出每个产生式对应的语义动作。
答:
(1).
G(S):
适合语法制导翻译的文法(3分)
R
U
S
(2).(6
R
do
RS⑴While
UE
分)
do
{:
=NXQ}
URS⑴While
{:
=;
BACKPATCH,NXQ)}
SUE
{BACKPATCH,;
:
=}
答案二:
(1)S
doM1S⑴WhileM
2E
M
£(3分)
⑵
M£{:
=NXQ}(
6分)
S
doM1S
(1)WhileM
2E
{
backpatcH(Schain,;
BACKPATCH,;
:
=E
.FC
}
七、(8分)将语句
if(A
=C+D
翻译成四元式。
(8分)
答:
100(j<,A,X,102)
101(j,-,-,109)
102(j>,B,0,104)
103(j,-,-,109)
104(j>,C,0,106)
105(j,-,-,109)
106(+,C,D,T1)
107(:
=,T1,-,C)
108(j,-,-,104)
109
(控制结构3分,其他5分)
八、(10分)设有基本块如下:
T1:
=S+R
T2:
=3
T3:
=12/T2
T4:
=S/R
A:
=T1-T4
T5:
=S+R
B:
=T5
T6:
=T5*T3
B:
=T6
(1)画出DAGS;
⑵设A,B是出基本块后的活跃变量,请给出优化后的四
元式序列
答:
(1)DAG如右图:
(6分)
A
n8
n7
T4
n3
n6
/
+
n2
n1
T2
n5
S
3
4
T6,B
⑵四元式序列:
(4分)
T1:
=S+R
T4:
=S/R
A:
=T1-T4
B:
=T1*4
九、(9分)设已构造出文法G(S):
(1)S
BB
⑵B
aB
⑶B
b
的LR分析表如下
状态
ACTION
GOTO
a
b
#
S
B
0
S3
s4
1
2
1
acc
2
s6
s7
5
3
S3
s4
8
4
r3
r3
5
r1
6
s6
s7
9
7
r3
8
r2
r2
9
r2
假定输入串为abab,请给出LR分析过程(即按照步骤给出状态,符号,输入串的变
化过程)。
答:
步骤
状态
符号
输入串
0
0
#
abab#
1
03
#a
bab#
2
034
#ab
ab#
3
038
#aB
ab#
4
02
#B
ab#
5
026
#Ba
b#
6
0267
#Bab
#
7
0269
#BaB
#
8
025
#BB#
9
01
#S
#acc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 考试 试题