- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京工业大学 年度第学期
计算机学院 级【编译原理】考 试题(A)
考试形式:开卷 考试时间:200
考试形式:开卷 考试时间:200年月日学号
姓名
1
2
3
4
5
6
7
附加题
总分
分 数
1. ( 6分)回答下列问题
1) 在存储管理中,为什么在活动记录内为临时变量分配空间?
解:
活动记录为一次过程调用 (函数调用)中的局部数据提供栈式存储空间, 随过程调用被分配, 随过程调用的结束而释放; 临时变量用于保存表达式计算中的中间结果, 在活动记录中为临时变 量分配空间,可以保证该空间随过程调用被分配,随活动记录的释放被自动释放。
2) 在符号表管理中,为什么将变量名保存在符号表中?
解:
符号表中将保存变量名及其各种属性,变量名将用于变量的识别、涉及变量的语义分析、变 量名与存储空间的绑定、以及类型、作用域、存储地址等各种变量属性的设置、获取等各种维护 功能。
2. (8分)试消除下列文法中的左递归
S t SaA|Se|B
A t BbA|B
B t cSd|;
解:
消除左递归
提取左因子
改写后的文法
S t SaA|Se|B
A t BbA | B
S t BS
t S (aA | e ) | B
t B ( bA | )
S t aA S|e S
引进非终结符S
引进非终结符A
A tb A
S t bs
A t b A
A t bA | ;
St (aA | e ) Sl ;
At bA | ;
B t cSd|;
(15分)写出下列文法中各候选式的FIRST集和各非终结符的FOLLOW!,构造该文 法的LL( 1)分析表,并说明它是否为LL( 1)文法。
S t aA|BA
A t cB| ;
B t bB|; 解:
各候选式的FIRST集(4分)
FIRST (aA) ={a} FIRST (BA) ={ b, c, ;} FIRST (cB) ={c}
FIRST ( ;) ={ } FIRST (bB) ={ b } FIRST ( ;) ={ ;}
各非终结符的FOLLOW! (4分)
FOLLOVS)= { #} FOLLOW(A)= { #} FOLLOW(B)= { c, #}
LL (1)分析表 (5 分)
a
b c
#
S
S t aA
S t ba
S t
BA
S
t ba
A
A t
cB
A
t 名
B
B t bB
B t $
B
t 呂
说明它是否为LL (1)文法(2分) 判断1分,理由1分
因为LL (1)分析表无冲突,所以该文法是 LL (1)文法。
(18分)给定文法G[S]
St L + L | L
L t LB|B
B t 0|1
(1)构造拓广文法,按LR(O)分析的需要画出识别这个拓广文法的所有规范句型活前 缀的DFA
0
S
XT 0
S 1
1
S
T 0
L 2 +
6 L
8
2
S
T 0
L 2
3
L
T 0,
6 L 2, 8
B 7
4
L
T 0,
6 B 3
5
B
T 0,
2, 6, 8 0 4
6
B
T 0,
2, 6, 8 1 5
Io:
{
(0,
0), (1,
0),
(2,
0),
(3, 0), (4
L, 0), (5, 0), (6, 0) }
|1:
{
(0,
1)}
|2:
{
(1,
1), (2,
1),
(3,
1),
(5, 0), (6
i, 0) }
I3:
{
(4,
1)}
|4:
{
(5,
1)}
15:
{
(6,
1)}
16:
{
(1,
2), (3,
0),
(4,
0),
(5, 0), (6
i, 0) }
17:
{
(3,
2) }
18:
{
(1,
3), (3,
1),
(5,
0),
(6, 0) }
(2)求出这个文法的SLR( 1分析表。
解:
给产生式编号:①S^ L + L②S^ L③Lt LB④Lt B⑤B T 0 ⑥B^ 1
FOLLOW(S)={#}
FOLLOW(L)={0,1,+,#}
FOLLOW(B)={0,1,+,#}
状态
ACT
ON
GOTO
0
1
+
#
S
L
B
0
S4
S5
1
2
3
1
acc
2
S4
S5
S6
r2
7
3
r4
r4
r4
r4
4
r5
P r5 n
r5
r5
5
r6
r6
r6
r6
6
S4
S5
8
3
7
r3
r3
r3
r3
8
S4
S5
r1
7
(7分)写出能产生字母表{x,y}上的不含两个相邻的X,且不含两个相邻的y的全 体符号串的有限状态自动机。
解:
解:
( 16分)设文法G[E]:
E t RP|P
P t (E)|i
R t rp+| rp* |P+|P*
画出句子i+i*(i+i) 的语法分析树,给出其最右推导和最左归约,并指出它的句柄
解:
(
原创力文档


文档评论(0)