编译原理第三版课后答案.docx

上传人:b****0 文档编号:333693 上传时间:2022-10-09 格式:DOCX 页数:38 大小:169.13KB
下载 相关 举报
编译原理第三版课后答案.docx_第1页
第1页 / 共38页
编译原理第三版课后答案.docx_第2页
第2页 / 共38页
编译原理第三版课后答案.docx_第3页
第3页 / 共38页
编译原理第三版课后答案.docx_第4页
第4页 / 共38页
编译原理第三版课后答案.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

编译原理第三版课后答案.docx

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

编译原理第三版课后答案.docx

编译原理第三版课后答案

编译原理_第三版_课后答案

编译原理课后题答案

第二章

P36-6

(1)

是0~9组成的数字串

最左推导:

N=ND=NDD=NDDD=DDDD=ODDD=O1DD=012D=0127

N=ND二DD二3D二34

N=ND二NDD=DDD=5DD=56D二568

最右推导:

N二ND二N7二ND7二N27二ND27二N127二D127二0127

N=ND=N4=D4=34

N=ND二N8=ND8二N68二D68二568

P36-7

G(S)

O>1|3|5|7|9

N>2|4|6|8|0

D、0|N

S>0|A0

A>AD|N

P36-8

文法:

ETTE+T|E—T

TtFT*F|T/F

F>(E)|i

最左推导:

E=ET=TT=FT=iT=iT*F=iF*F=ii*F=ii*i

E=T=T*F二F*F=i*F二i*(E)二i*(ET)二i*(TT)二i*(FT)

=i*(iT)二i*(iF)=i*(ii)

最右推导:

E=ET=ET*F=ET*i=EF*i=Ei*i=Ti*i=Fi*i=ii*i

E=T=F*T=F*F=F*(E)=F*(ET)=F*(EF)=F*(Ei)

=F*(Ti)=F*(Fi)=F*(ii)=i*(ii)

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

 

i

i+i+i

i-i-i

i

i+i*i

 

*****************

P36-9

句子iiiei有两个语法树:

S二iSeS二iSei二iiSei=iiiei

S=iS=iiSeS=iiSei=iiiei

P36-10

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

S>TS|T

T>(S)|()

***************

***************

L1:

S>AC

AraAb|ab

CrcC|;

L2:

S>AB

A》aA|;

BrbBc|bc

L3:

S>AB

A—:

aAb|;

B=aBb|;

L4:

S>A|B

A—;0A1|;

B-1B0|A

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

第三章习题参考答案

P64-7

 

1(01)*101

1101

确定化:

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,}

10

11

最小化:

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

{0,123,4,5}。

={135}{0,1,2,3,4,5}^{1,2,4,6}

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

{0,123,4}。

={1,3,5}

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

{0,1,23°={1,3}{0,1,2,3}厂{1,2,4}

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

{0,1}0<1}{0,1}厂{1,2}

{2,3}厂{3{23厂{4}

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

0010

01

0

1

11

(1|0)*01

(2)

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

(3)

0*1(0|10*1)*|1*0(0|10*1)*

P64-12

(a)

a,b

a

确定化:

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

abbb

最小化:

{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}

aa

bb

a

b

(b)

bba

ab

a

ab

ba

aa

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

最小化:

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

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

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

{2,4}a二{1,0{2,4}厂{3,5

{3,5L二{3,5{3,5}厂{2,4}

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

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

{2,4人二{1,0{2,4}严{3,5

{3,5L二{3,5}{3,5}厂{2,4}

•・A

bba

aba

P64-14

(1)0

1

=>:

0

⑵:

确定化:

0

1

{X,1,Y}

{1,Y}

{2}

{1,Y}

{1,Y}

{2}

{2}

r{1,Y}

0

0

0

0

给状态编号:

0

1

0

1

2

1

1

2

2

1

3

3

3

3

 

 

第四章

10

11

1

0

最小化:

{0,1},{2,3

{0,1}。

={1}{0,1}^{2}

{2,3}。

={1,3}{2,3h二{3}

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

0

111

0

0

P81—1

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

G(S)

S>af|仃)

T>ST

T>,ST|;

递归子程序:

procedureS;

begin

ifsym='a'orsym='A'

thenabvanee

elseifsym='('

thenbegin

advance;T;

ifsym=')'thenadvanee;

elseerror;

end

elseerror

end;

procedureT;

begin

S;

end;

procedure;

begin

ifsym二','

thenbegin

advanee;

S;

end

end;

其中:

sym:

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

advanee:

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

error:

是出错诊察程序

FIRST(S)二{a,八,(}

FIRST(T)二{a,八,(}

FIRST()={,,}

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

FOLLOW(T)={)}

FOLLOW()={)}

预测分析表

a

A

J

#

S

Sta

Sta

St(T)

T

:

Ttst

rtts「

TtST'

TJs

TJ,ST

是LL

(1)文法

P81-2

文法:

E>TE

EEp

T>FT

TJT|;

F>PF

F"―;*F|;

P>(E)|a|b|A

(1)

FIRST(E)二{(,a,b"}

FIRST(E')二{+,£}

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

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

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

FIRST(F')={*,£}

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

FOLLOW(E)二{#,)}

FOLLOW(E')二{#,)}

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

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

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

FOLLOW(F')二{(,a,b,"+,),#}

FOLLOW(P)二{*,(,a,b,"+,),#}

考虑下列产生式

E>E|;

T>T|;

FJ*F|;

P>(E)|A|a|b

FIRST(+E)QFIRST(£)={+}A{£}=©

FIRST(+E)AFOLLOW(E')二{+}Q{#,)}=©

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)文法.

(3)

+

*

a

b

A

#

E

EtTE'

EtTE'

EtTE'

EtTE'

E'

EE

EJ名

EJs

T

Tt

TtF「

TtFT*

TtFT

T'

TJE

TJT

TJ「

Ttt

TtT

TtT

Tts

F

FtPF'

FtPF'

FtPF'

FtPF'

F'

FJe

F

FJe

FJg

FJ名

FJ8

FJE

FJ8

P

Pt(E)

Pta

Ptb

Pta

procedureE;

begin

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

thenbeginT;E'end

elseerror

end

procedureE:

begin

ifsym='+'

thenbeginadvanee;Eend

elseifsym<>')'andsym<>'#'thenerror

end

procedureT;

begin

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

thenbeginF;T'end

elseerror

end

procedureT:

begin

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

elseifsym='*'thenerror

end

procedureF;

begin

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

thenbeginP;F'end

elseerror

end

procedureF:

be

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

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

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

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