编译原理试题3Word文件下载.docx
- 文档编号:15692193
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:12
- 大小:88.38KB
编译原理试题3Word文件下载.docx
《编译原理试题3Word文件下载.docx》由会员分享,可在线阅读,更多相关《编译原理试题3Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
三、现有文法G[E]:
(共12分)
E→E+T|E-T|T
T→T*F|T/F|F
F→i|(E)
4、证明:
F+T*(E)是文法的一个句型。
5、构造句型F+T*(E)的语法推导树。
6、指出该句型所有短语、直接短语和句柄。
(6分)
四、给定正规式R=d(a|bc)*d,要求:
(12分)
1、构造对应的NFAM状态图,使得L(M)=L(R)。
(4分)
2、将所得NFAM确定化和最小化。
(8分)
五、现有文法G[S]:
(共16分)
S→S;
D|D
D→D(T)|H
H→m|(S)
T→T*S|S
1、计算G[S]的FIRSTVT和LASTVT;
2、构造G[S]的算符优先关系表,并说明G[S]是否为算符优先文法;
3、给出输入串(m*m)#的算符优先分析过程。
4、根据分析过程总结算符优先分析方法的优缺点。
六、已知G[S]:
(18分)
S→(A)|a|b
A→A,S|S
1、给出(a,(b,b))的最左推导。
2、判断该文法是否为LL
(1)文法。
若是,直接给出它的预测分析表;
若不是,先将其改写为LL
(1)文法,再给出它的预测分析表;
(10分)
3、给出输入串(b,b)#的分析过程,并说明该串是否为G[S]的句子。
(5分)
七、对给定文法G[S’]:
(共18分)
0)S’→S
1)S→A
2)S→B
3)A→aAc
4)A→a
5)B→bBd
6)B→b
1、构造G[S’]的LR(0)项目集规范族DFA,并据此判断G[S’]是否为LR(0)文法。
(6分)
2、进一步判断G[S’]是否为SLR
(1)文法,并给出对应的SLR
(1)分析表。
3、给出输入串bbd#的SLR
(1)分析过程。
4、判断G[S’]是否为LR
(1)文法和LALR
(1)文法。
(2分)
编译原理课程测试试卷评分标准
(数计学院03B卷)
第一题:
判断题(15分)
1、共有15道小题,每小题1分,15×
1=15分。
2、答案:
题号
1
2
3
4
5
6
7
8
9
10
答案
√
×
11
12
13
14
15
第二题:
(9分)
1、表达式A:
=B*(C-D)/D的逆波兰式表示:
ABCD-*D/:
=。
2、表达式A:
=B*(C-D)/D的四元式表示:
(1)(-,C,D,t1)
(2)(*,B,t1,t2)
(3)(/,t2,D,t3)
(4)(:
=,t3,_,A)
3、将译成的四元式用DAG表示:
第三题:
(12分)
1、证明(3分):
因为存在推导序列E=>
E+T=>
T+T=>
F+T=>
F+T*F=>
F+T*(E),即有E
F+T*(E)成立,所以,F+T*(E)是文法的一个句型。
2、语法树(3分)
3、句型分析(6分)
句型F+T*(E)相对于E的短语有:
F+T*(E),F。
句型F+T*(E)相对于T的短语有:
F,T*(E)。
句型F+T*(E)相对于F的短语有:
(E)。
(3分)
句型F+T*(E)相对于T→F的直接短语有:
F。
句型F+T*(E)相对于F→(E)的直接短语有:
(E)。
句型F+T*(E)的句柄为:
F。
(1分)
(2)短语每错两个扣1分。
第四题:
1、NFAM(4分)
2、
(1)确定化(4分)
步骤如下表所示(可省):
标记
新状态
Ia
Ib
Ic
Id
T0
{1}
φ
{2,4}
T1
{3}
{5}
T2
T3
将集合T0至T3各用一个状态表示,确定化后所得DFAM如下:
(2)最小化(4分)
步骤
分割根据
分割结果
是否终态
P1={1,2,3};
P2={4}
P1根据d弧映射
P11={1};
P12={2};
P13={3}
最后还有4个不可再分割的子集,每个子集中只包含一个状态,即原DFAM已经是最小化DFA。
第五题:
(16分)
1、对文法进行拓广,加入规则S’→S后得G[S’],其非终结符的FIRSTVT、LASTVT集计算如下:
非终结符
S’
S
D
H
T
FIRSTVT集
{#}
{;
(,m}
{(,m}
{*,;
LASTVT集
),m}
{),m}
由FIRSTVT、LASTVT集构造≮和≯如下:
VTVN符号对
≮关系
VNVT符号对
≯关系
#S
#≮FIRSTVT(E)
S#
LASTVT(E)≯#
;
≮FIRSTVT(D)
S;
LASTVT(E)≯;
(T
(≮FIRSTVT(T)
T)
LASTVT(T)≯)
(S
(≮FIRSTVT(E)
S)
LASTVT(E)≯)
*S
+≮FIRSTVT(E)
T*
LASTVT(T)≯+
2、
(1)优先关系表为:
(
)
m
*
#
≯
≮
≯
≡
(2)该文法是算符优先文法(2分)。
3、
(1)输入串(m*m)#的算符优先分析过程:
分析栈
剩余输入串
关系
动作
(m*m)#
入栈
#(
m*m)#
#(m
*m)#
归约
#(H
#(H*
m)#
#(H*m
)#
#(H*H
#(T
#(T)
#H
成功
(2)优缺点(2分):
由上述分析过程可知,用算符优先分析法分析在确定句柄时只考虑终结符之间的优先关系,而与非终结符无关,这使得算符优先分析法具有效率高的优点;
但是,由于去掉了单非终结符之间的归约,有可能将错误的句子识别为正确的。
上例中对输入串(m*m)#能分析成功,但(m*m)#并不是文法G[S]的句子。
这就是算符优先分析法的缺点。
第六题:
1、给出(a,(b,b))的最左推导:
S=>
(A)=>
(A,S)=>
(S,S)=>
(a,S)=>
(a,(A))=>
(a,(A,S))=>
(a,(S,S))=>
(a,(b,S))=>
(a,(b,b))
2、
(1)判断:
计算各条规则的SELECT集及左部相同规则的SELECT集的交集如下:
规则
SELECT集
左部相同规则的SELECT集的交集
S→a
{a}
S→b
{b}
S→(A)
{(}
A→A,S
{a,b,(}
A→S
显然,G[S]不是LL
(1)文法。
(2)将G[S]改写如下:
G[S]:
S→a|b|(A)
A’→,SA’|ε
A→SA’
A’→,SA’
{,}
A’→ε
{)}
显然,改写后的G[S]是LL
(1)文法。
(2)预测分析表:
a
b
→a
→b
→(A)
A’
→,SA’
→ε
A
→SA’
4、
(1)输入串(b,b)#的分析过程:
所用规则
(b,b)#
#)A’S,
b)#
匹配
#)A(
(匹配
#)A’S
b)#
#)A
b,b)#
#)A’b
b匹配
#)A’S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 试题