《编译原理》样卷及答案.docx

上传人:b****5 文档编号:8381088 上传时间:2023-01-30 格式:DOCX 页数:8 大小:840.04KB
下载 相关 举报
《编译原理》样卷及答案.docx_第1页
第1页 / 共8页
《编译原理》样卷及答案.docx_第2页
第2页 / 共8页
《编译原理》样卷及答案.docx_第3页
第3页 / 共8页
《编译原理》样卷及答案.docx_第4页
第4页 / 共8页
《编译原理》样卷及答案.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

《编译原理》样卷及答案.docx

《《编译原理》样卷及答案.docx》由会员分享,可在线阅读,更多相关《《编译原理》样卷及答案.docx(8页珍藏版)》请在冰豆网上搜索。

《编译原理》样卷及答案.docx

《编译原理》样卷及答案

一、简答题(每题4分,共24分)

1、构造一个文法G,使得:

L(G)={(m)m|m>0}

解答:

G[S]:

s->()|(S)

2、构造一个正规式,它接受∑={0,1}上符合以下规则的字符串:

串内有且只有2个1的0、1字符串全体。

解答:

0*10*10*

3、消除文法G[S]中的直接左递归和回溯

S→(L)|aS|a

L→L,S|S

解答:

S→(L)|aS'

S'→S|ε

L→SL'

L'→,SL'|ε

4、文法G[S]是乔姆斯基几型文法?

S→ABS|AB

AB→BA

A→0

B→1

解答:

1型文法/上下文有关文法

 

5、按Thmopson算法构造与正则表达式(1*|0)*等价的NFA。

解答:

6、设计一个状态转换图,其描述的语言规则为:

如果以a开头,则其后是由a、b组成的任意符号串;如果以b开头,则其后是至少包含一个a的由a、b组成的任意符号串。

解答:

 

二、(本题10分)对于文法G[E]:

E→ET+|T

T→TF*|F

F→F^|a

(1)给出句子FF^^*的最左推导和语法树;

(2)给出句子FF^^*的短语、直接短语和句柄。

解答:

(1)2分:

句子FF^^*的最左推导2分:

句子FF^^*的语法树

E=>T=>TF*=>FF*=>FF^*=>FF^^*

(2)3分:

句子FF^^*的短语

FF^^*、FF^^*、F、F^、F^^

2分:

句子FF^^*的直接短语

F、F^

1分:

句子FF^^*的句柄

F

 

三、(本题15分)构造与下列NFA等价的最小化DFA。

解答:

(1)10分:

构造与NFA等价的DFA

(2)5分:

对DFA最小化

首先,将所有的状态集合分成子集:

k1={0,1,2,4}k2={3,5}

 

 

四、(本题15分)对下列文法G[S]:

s→eT|RT

T→DR|ε

R→dR|ε

D→a|bd

(1)写出文法G[S]每个非终结符的FIRST集和FOLLOW集;

(2)判断文法G[S]是否LL

(1)文法(注:

必须给出判断过程,否则不得分);

(3)写出文法文法G[S]的预测分析表。

解答:

(1)8分:

每个First集合和FOLLOW集合各1分

FIRST集

FOLLOW集

s→eT

|RT

{e}

{a,b,d,ε}

#

T→DR

{a,b}

{ε}

#

R→dR

{d}

{ε}

a,b,#

D→a

|bd

{a}

{b}

D,#

 

(2)2分:

判断文法G[S]是LL

(1)文法。

对于产生式s→eT|RT:

FIRST(eT)∩FIRST(RT)-ε={e}∩{a,b,d}=Φ

FIRST(eT)∩FOLLOW(S)={e}∩{#}=Φ

对于产生式T→DR|ε:

FIRST(DR)∩FOLLOW(T)={a,b}∩{#}=Φ`

对于产生式R→dR|ε:

FIRST(dR)∩FOLLOW(R)={d}∩{a,b,#}=Φ

对于产生式D→a|bd:

FIRST(a)∩FIRST(bd)={a}∩{b}=Φ

所以,对于文法G[S]是LL

(1)文法。

(3)5分:

文法G[S]的预测分析表。

 

五、(本题18分)已知文法G[S]:

S→rD

D→D,i|i

(1)画出识别文法活前缀的完整DFA,并判断该文法是否LR(0)文法(必须说明判断依据);

(2)构造该文法的SLR

(1)分析表,并判断该文法是否SLR

(1)文法(必须说明判断依据)。

解答:

(1)8分:

画出识别文法活前缀的完整DFA

文法拓展并对产生式编号:

(0)S'→S

(1)S→rD

(2)D→D,i(3)D→i

(2)2分:

判断该文法不是LR(0)文法

对于状态3,项目集中存在“移进-规约”冲突,所以该文法不是LR(0)文法。

(3)6分:

构造该文法的SLR

(1)分析表

状态

ACTION

GOTO

r

i

#

S

D

0

S2

1

1

acc

2

S4

3

3

S5

r1

4

r3

r3

5

S6

6

r2

r2

(4)2分:

判断文法是SLR

(1)分析表

回答1:

因为SLR

(1)分析表不存在冲突,所以文法是SLR

(1)分析表。

回答2:

对于状态3,FOLLOW(S)∩{,}=(#)∩{,}=Ф,“移进-规约”冲突可以用

SLR

(1)方法解决,所以文法是SLR

(1)分析表。

六、(本题8分)文法G[E]的LR分析表如下图所示:

(1)E→E+T

(2)E→T(3)T→T*F

(4)T→F(5)F→(E)(6)F→i

写出对输入串i*i+i的LR分析过程(即状态,符号,输入串的变化过程)。

 

解答:

 

七、(本题10分)写出下列语句的四元式序列

if(y>z&&(cn))

while(a>b)

x=x+y*a;

else

m=m+n;

 

解答:

1(j>,y,z,3)

2(j,-,-,13)

3(j<,c,d,7)

4(j,-,-,5)

5(j>,m,n,7)

6(j,-,-,13)

7(j>,a,b,9)

8(j,-,-,13/16)

9(*,y,a,t0)

10(+,x,t0,t1)

11(=,t1,-,x)

12(j,-,-,7)

13(j,-,-,16)

14(-,x,1,t5)

15(=,t5,-,x)

16..........

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1