- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 PAGE 1 页 (共 页)
编译原理试题答案及评分参考(A卷)
(课程代号: 9047 )
一、单项选择题
题号
1
2
3
4
5
6
7
8
9
10
答案
B
C
A
C
D
C
A
D
B
D
题号
11
12
13
14
15
16
17
18
19
20
答案
A
B
B
A
B
D
B
B
D
C
二、多项选则题
题号
21
22
23
24
25
答案
AD
ABC
CDE
ABCDE
ABC
三、填空题
26.开始符号(识别符号)
27.圆括号(),方括号[],花括号{}
28.单词类别 单词的自身值
29.上下文无关
30.局部优化 全局优化
四、计算题。
31. 答:
S=> S+S=> S+ S*S => S+ S*i=> S+ i*i =>i+ i*i
或S=> S*S=> S*i => S+S*i=> S+ i*i =>i+ i*i(2分)
答1:构造两棵语法树如下:
SS+
S
S
+
i
i
S
S
*
S
i
S
S
+
S
S
S
*
i
i
i
(2分) (2分)
所以句子i+ i*i有两棵不同的语法树,所以文法具有二义性。(1分)
答2:因为S=> S+S=> S+ S*S => S+ S*i=> S+ i*i =>i+ i*i(2分)
或S=> S*S=> S*i => S+S*i=> S+ i*i =>i+ i*i(2分)
所以句子i+ i*i有两个不同的最右推导过程,所以文法具有二义性。(1分)
答3:因为S=> S+S=> S+ S => i+ S=> i+S*S =>i+S*i=>i+ i*i(2分)
或S=> S*S=>S+Si*S => i+S*S=>i+i*S =>i+ i*i(2分)
所以句子i+ i*i有两个不同的最左推导过程,所以文法具有二义性。(1分)
32. 答:逆波兰式:(abcd-*+)
[评分标准] 运算符号正确(2分)运算顺序正确(2分)
三元式序列:
(1) - c d (1分)
(2) * b (1) (1分)
(3) + a (2) (1分)
33.答:FIRSTVT(E)={+,*,(),i} (2分)
LASTVT(E)= {+,*,(),i} (1分)
FIRSTVT(T)= {*,(),i}(1分)
LASTVT(T)= {*,(),i}(1分)
FIRSTVT(F)= {(),i} (1分)
LASTVT(F)= {},i }(1分)
34. 答:文法G(S):
S ? aaSbb | aaCbb
C ? ccB | c
[评分标准] 文法的四要素齐全(2分)文法书写正确(1分)
文法含义正确,每个产生式各1分
35. 答:
a a
01
0
1
2
3
6
4
5
e e a b e e
b b
?(2分)
确定化:
I
a
b
{0,1,2}
{1,2,3}
{1,2}
{1,2,3}
{1,2,3}
{1,2,4,5,6}
{1,2}
{1,2,3}
{1,2}
{1,2,4,5,6}
{1,2,3,5,6}
{1,2,5,6}
{1,2,3,5,6}
{1,2,3,5,6}
{1,2,4,5,6}
{1,2,5,6}
{1,2,3,5,6}
{1,2,5,6}
[评分标准] 子集法步骤正确(2分)结果正确(1分)
将{0,1,2}、{1,2,3}、{1,2}、{1,2,4,5,6}、{1,2,3,5,6}、{1,2,5,6}重新命名为状态0,1,2,3,4,5,6,得到确定化后的状态转换图:
012345
0
1
2
3
4
5
b a
a a a a
?
a b b
文档评论(0)