编译原理课后复习题答案陈火旺+第三版.docx

上传人:b****3 文档编号:1443706 上传时间:2022-10-22 格式:DOCX 页数:40 大小:293.87KB
下载 相关 举报
编译原理课后复习题答案陈火旺+第三版.docx_第1页
第1页 / 共40页
编译原理课后复习题答案陈火旺+第三版.docx_第2页
第2页 / 共40页
编译原理课后复习题答案陈火旺+第三版.docx_第3页
第3页 / 共40页
编译原理课后复习题答案陈火旺+第三版.docx_第4页
第4页 / 共40页
编译原理课后复习题答案陈火旺+第三版.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

编译原理课后复习题答案陈火旺+第三版.docx

《编译原理课后复习题答案陈火旺+第三版.docx》由会员分享,可在线阅读,更多相关《编译原理课后复习题答案陈火旺+第三版.docx(40页珍藏版)》请在冰豆网上搜索。

编译原理课后复习题答案陈火旺+第三版.docx

编译原理课后复习题答案陈火旺+第三版

第二章

P36-6

(1)

L(Gi)是o~9组成的数字串

(2)最左推导:

N

ND

NDD

NDDDDDDD

0DDD

01DD

012D0127

N

ND

DD

3D34

N

ND

NDD

DDD5DD

56D

568

最右推导:

N

ND

N7

ND7N27

ND27

N127

D127

0127

N

ND

N4

D434

N

ND

N8

ND8N68

D68

568

P36-7

G(S)

O1|3|5|7|9

N2|4|6|8|O

D0|N

SO|AO

AAD|N

P36-8

文法:

ET|ET|ET

TF|T*F|T/F

F(E)|i

最左推导:

EE

TTTF

T

iT

iT*F

iF*Fi

i*Fii*i

ET

T*F

F*F

i

*F

i*(

E)i*(E

T)

i*(T

T)i*(FT)

i*(i

T)i

*(iF)

i

*(ii

最右推导

EE

TE

T*F

E

T*i

E

F*iE

i*i

Ti*

iFi*iii*

ET

F*T

F*F

F

*(E)

F

*(ET)

F*(E

F)

F*(Ei)

F*(T

i)

F*(Fi)

F*(i

i)

i*(ii)

/********************************

P36-9

句子iiiei有两个语法树:

SiSeSiSeiiiSeiiiiei

SiSiiSeSiiSeiiiiei

P36-10

/**************

STS|T

T(S)|()

***************/

P36-11

/***************

L1:

SAC

AaAb|abCcC|

L2:

SAB

AaA|

BbBc|bc

L3:

SAB

AaAb|

BaBb|

L4:

SA|B

A0A1|

B1B0|A

***************/

第三章习题参考答案

P64-7

确定化:

0

1

{X}

0

{1,2,3}

0

0

0

{1,2,3}

{2,3}

{2,3,4}

{2,3}

{2,3}

{2,3,4}

{2,3,4}

{2,3,5}

{2,3,4}

{2,3,5}

{2,3}

{2,3,4,Y}

{2,3,4,Y}

{2,3,5}

{2,3,4,}

最小化:

{0,1,2,3,4,5},{6}

{0,123,4,5}。

{1,3,5}{0,1,2,3,4,5}1{1,2,4©

{0,1,2,3,4},{5},{6}

{0,1,2,34}。

{1,3,5}

{0,1,23,{4},{5},{6}

{0,1,23。

{1,3}{0,123^{1,2,4}

{0,1},{2,0}{4},{$,{6

{0,1}0{1}{0,1}1{1,2}

{2,3}0B门匡{4}

{0},{1},{2,3},{4},{5},{6}

 

P64—8

(1|0)*01(1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*(0|5)|(0|5)

01(0|101)|10(0|101)

P64-12

a

b

{0}

{0,1}

{1}

{0,1}

{0,1}

{1}

{1}

{0}

0

0

0

0

 

给状态编号:

a

b

0

1

2

1

1

2

2

0

3

3

3

3

最小化:

{0,1},{2,3}

{0,1}a{1}{0,1}b{2}{2,3}a{0,3}{2,3}b{3}

{0,1},{2},{3}

 

已经确定化了,进行最小化

 

最小化:

{{0,1},{2,3,4,5}}

{0,1}a{1}{0,1}b{2,4}

{2,3,4,5爲{1,3,0,5}{2,3,4,5}b{2,3,4,5}

{2,4}a{1,0}{2,4}b{3,5}

{3,5}a{3,5}{3,5}b{2,4}

{{0,1},{2,4},{3,5}}

{0,1}a

{2,4}a

{3,5}a

{1}

{1,0}

{3,5}

{0,叽{2,4}

{2,4}b

{3,5}b

{3,5}

{2,4}

⑵:

0

0

1

{X,1,Y}

{1,Y}

{2}

确定化:

 

{1,Y}

{1,Y}

{2}

{2}

{1,Y}

0

0

0

0

给状态编号:

 

0

1

0

1

2

1

1

2

2

1

3

3

3

3

 

最小化:

{0,1},{2,3

{0,1}0{1}{0,1}1{2}

{2,3}o{1,3}{2,3}i{3}

{0,1},{2},{3}

P81-1

(1)按照T,S的顺序消除左递归

G(S)

SaF|(T)

TST

T,ST|

递归子程序:

procedureS;

begin

ifsym='a'orsym='人'

thenabvanee

elseifsym='('

thenbegin

advance;T;

ifsym=')'thenadvanee;elseerror;

end

elseerror

end;

procedureT;

begin

S;T

end;

procedureT;

begin

ifsym=','

thenbegin

advanee;

S;T

end

end;

其中:

sym:

是输入串指针IP所指的符号

advanee:

是把IP调至下一个输入符号error:

是出错诊察程序

FIRST(S)={a],(}

FIRST(T)={af,(}

FIRST(T)={,,}

FOLLOW(S)={),,,#}

FOLLOW(T)={)}

FOLLOWT)={)}

预测分析表

a

A

J

#

S

Sa

SA

S(T)

T

rTST

rTST

TST

T

T

T,ST

是LL

(1)文法

P81-2

文法:

ETE

EE|

TFT

TT|

FPF

F*F|

P(E)|a|b$

(1)

FIRST(E)={(,a,bf}

FIRST(E')={+,£}

FIRST(T)={(,a,b]}

FIRST(T')={(,a,b,A,£}

FIRST(F)={(,a,b,A}

FIRST(F')={*,£}

FIRST(P)={(,a,bf}

FOLLOW(E)={#,)}

FOLLOW(E')={#,)}

FOLLOW(T)={+,),#}

FOLLOW(T')={+,),#}

FOLLOW(F)={(,a,b,A,+,),#}

FOLLOW(F')={(,a,b,A,+,),#}

FOLLOW(P)={*,(,a,bf,+,),#}

考虑下列产生式:

EE|

TT|

F*F|

P(E)|A|a|b

FIRST(+E)AFIRST(£)={+}n{£}=$

FIRST(+E)AFOLLOW(E')={+}A{#,)}=$

FIRST(T)AFIRST(£)={(,a,b,A}A{£}=$

FIRST(T)AFOLLOW(T')={(,a,b,A}A{+,),#}=$

FIRST(*F')AFIRST(£)={*}A{£}=$

FIRST(*F')AFOLLOW(F')={*}A{(,a,b,A,+,),#}=$

FIRST((E))AFIRST(a)AFIRST(b)AFIRST(A)=$所以,该文法式LL

(1)文法.

+

*

a

b

A

#

E

ETE'

ETE'

ETE'

ETE'

E'

EE

E

E

T

TFT

TFT

TFT

TFT

T'

T

TT

T

TT

TT

TT

T

F

F

PF

F

PF

F

PF

FPF

F'

F

F*F

F

F

F

F

F

F:

P

P

(E)

P

a

P

b

PA

procedureE;

begin

ifsym='('orsym='a'orsym='b'orsym='人'thenbeginT;E'endelseerror

end

procedureE:

begin

ifsym='+'

thenbeginadvanee;Eend

elseifsym<>')'andsym<>'#'thenerrorend

procedureT;

begin

ifsym='('orsym='a'orsym='b'orsym='人'thenbeginF;T'endelseerror

end

procedureT';

begin

ifsym='('orsym='a'orsym='b'orsym='人'thenT

elseifsym='*'thenerror

end

procedureF;

begin

ifsym='('orsym='a'orsym='b'orsym='人'thenbeginP;F'endelseerror

end

procedureF';

begin

ifsym='*'

thenbeginadvanee;F'end

end

procedureP;

begin

ifsym='a'orsym='b'orsym='A'

thenadvanee

elseifsym='('then

begin

advanee;E;

ifsym=')'thenadvaneeelseerrorendelseerror

end;

P81—3

/***************

(1)是,满足三个条件。

(2)不是,对于A不满足条件3。

(3)不是,AB均不满足条件3。

(4)是,满足三

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

当前位置:首页 > 初中教育 > 语文

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

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