编译原理课后答案.docx

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

编译原理课后答案.docx

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

编译原理课后答案.docx

编译原理课后答案

AVV*

第二早

1、L(G[S])={abc}

2、L(G[N])={n位整数或空字符串|n>0}

3、G[E]:

E—>E+D|E-D|D

D—>0|1|2|3|4|5|6|7|8|9

4、L(G[Z])={anbn|n>0}5、

(1)考虑不包括“0”的情况

G[S]:

S—>0S|ABC|2|4|6|8

A—>1|2|3|4|5|6|7|8|9B—>AB|0B|&

C—>0|2|4|6|8

考虑包括“0”的情况:

G[S]:

S—>AB|C

B—>AB|C

A—>0|1|2|3|4|5|6|7|8|9

C—>0|2|4|6|8

(2)方法1:

G[S]:

S—>ABC|2|4|6|8

A—>1|2|3|4|5|6|7|8|9

B—>AB|0B|&

C—>0|2|4|6|8

方法2:

G[S]:

S—>AB|C

B—>AB|0B|C|0

A—>1|2|3|4|5|6|7|8|9

C—>2|4|6|8

&设<表达式>为E,<项>为T,<因子〉为F,注:

推导过程不能省略,以下均为最左推导

(1)E=>T=>F=>i

(4)E=>E+T=>T+T=>T*F+T=>F*F+T=>i*F+T=>i*i+T=>i*i+F=>i*i+i

(6)E=>E+T=>T+T=>F+T=>i+T=>i+T*F=>i+F*F=>i+i*F=>i+i*I

8、是有二义性的,因为句子abc有两棵语法树(或称有两个最左推导或有两个最右推导)

最左推导1:

S=>Ac=>abc

最左推导2:

S=>aB=>abc

9、⑴

aa

(2)该文法描述了变量a和运算符+、*组成的逆波兰表达式

10、

(1)该文法描述了各种成对圆括号的语法结构

(2)是有二义性的,因为该文法的句子()()存在两种不同的最左推导:

最左推导1:

S=>S(S)S=>(S)S=>()S=>()S(S)S=>()(S)S=>()()S=>()()最左推导2:

S=>S(S)S=>S(S)S(S)S=>(S)S(S)S=>()S(S)S=>()(S)S=>()()S=>()()

11、⑴因为从文法的开始符E出发可推导出E+T*F,推导过程如下:

E=>E+T=>E+T*F,所以E+T*F是句型。

从子树和短语之间的关系可知:

E+T*F是句型E+T*F相对于E的短语;

T*F是句型E+T*F相对于T的短语,也是简单短语和句柄。

13、

(1)最左推导:

S=>ABS=>aBS=>aSBBS=>aBBS=>abBS=>abbS=>abbAa=>abbaa

(2)S—>ABS|Aa|£

A—>a

B—>SBB|b

(3)首先为了区别句子abbaa中的a和b,把它写成a1b1b2a2a3该句子的短语有:

a1b1b2a2a3,b1b2,a2a3,a1,a2,b1,b2,£

直接短语有:

a1,a2,b1,b2,£

句柄:

a1

14、

(1)G[S]:

S—>AB

A—>aAb|£

B—>aBb|£

(2)G[S]:

S—>1S0|A

A—>0A1|£

(3)G[S]:

S—>0S0|aSa|a16、

(1)G[A]:

A—>aA|£

(2)G[A]:

A—>aA|aB

B—>bB|b

(3)G[A]:

A—>aA|B

B—>bB|C

C->cC|£

、/、(和)

17、习题6、习题7和习题7中的文法所描述的语言都是由变量i、+、-、

组成算术表达式,因此它们之间是等价的

 

第四章参考答案

第1题:

确定化:

 

|0

I1

-S

A

A

A

AB

AB

AC

AB

AC

A

ABZ

+ABZ

AC

AB

S

A

B

C

Z

重新命名,令{AB}为B、{AC}为C、{ABZ}为Z其中S为初态,Z为终态

0

1

-S

A

A

A

B

B

C

B

C

A

D

+Z

C

B

a,b

a

b

b

确定化:

0

1

2

3

4

Ia

Ib

-S

A

A

AB

AZ

AB

AB

ABZ

+AZ

AB

AZ

+ABZ

AB

ABZ

重新命名,以0、1、2、3、4代替{S},{A},{AB},{AZ},{ABZ}得DFA

Ia

Ib

-0

1

1

2

3

2

2

4

+3

2

3

+4

2

4

其中0为初态,3,4为终态

第2题:

A

B

C

D

E

F

Io

11

Z

X

+Z

XZ

Y

+XZ

XZ

XY

Y

XY

XY

XYZ

X

+XYZ

XYZ

XY

以A、E、C、D、E、F代替{X},{Z},{XZ},{Y},{XY},{XYZ}

得DFA

0

1

A

B

A

重新命名,

其中A为初态,E,C,F为终态

 

+B

C

D

+C

C

E

D

E

E

F

A

+F

F

E

第3题:

得DFA

确定化:

Io

Il

-S

VQ

QU

VQ

VZ

QU

QU

V

QUZ

+VZ

Z

Z

V

Z

+QUZ

VZ

QUZ

+Z

Z

Z

B

C

D

E

F

G

重新命名,以A、E、C、D、E、F代替{S},{VQ},{QU},{VZ},{V},{QUZ},{Z}其中A为初态,D,F,G为终态

0

1

-A

B

C

B

D

C

C

E

F

+D

G

G

E

G

+F

D

F

+G

G

G

第4题:

⑴确定化:

la

Ib

-+o

01

1

+01

01

1

1

0

A

B

C

重新命名,以A、E、C代替{0}、{01}、{1}得DFA其中A为初态,A,B为终态

a

b

-+A

B

C

+B

B

C

C

A

最小化:

初始分划得终态组{A,B},非终态组{C}

no:

{A,B},{C}

以A、C代替{A,B}、

对终态组进行审查,判断A和B是等价的,故这是最后的划分重新命名,

{C}得DFA

a

b

-+A

A

C

C

A

(2)这是DFA,直接最小化

初始分划得:

终态组{0},非终态组{1,2,3,4,5}

no:

{0},{1,234,5}

对{1,2,3,4,5}进行审查:

•••{4}输入a后到达{0},{1,2,3,5}输入a后到达{1,3,5},故得到新分划{0,1,3,5},{4}

ni:

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

对{1,2,3,5}进行审查:

•••{1,5}输入b后到达{4},{2,3}输入b后到达{2,3},故得到新分划{1,5},{2,3}

口2:

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

对{1,5},{2,3}进行审查:

{1,5}输入a后到达{1,5}

{2}输入a后到达{1},{3}输入a后到达⑶,故得到新分划{2},{3}

口3:

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

这是最后分划了

重新命名,以0,2,3,4,1代替{0},{2},{3},{4},{1,5}得DFA略

确定化:

最小化:

初始分划得:

终态组{3,4},非终态组{0,1,2,5,6}

口0:

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

对{0,125,6}进行审查:

{1,2}输入b到达{3,4},而{0,5,6}输入b到达{2,5,6},故得到新分划{1,2},{0,5,6}

ni:

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

对{0,5,6}进行审查:

{0}经过b到达{2},{5,6}经过b到达{5,6},故得到新分划{0}{5,6}

n3:

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

这是最后划分了。

重新命名,以0,1,3,5代替{0},{1,2},{3,4},{5,6}得DFA略

第9题

这是DFA,直接最小化

初始分划得:

终态组{6,7},非终态组{1,2,3,4,5}

no:

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

对{1,2,3,4,5}进行审查:

{1,2}输入b到达{2},而{3,4}输入b到达{6,7},{5}输入b不会有任何动作,故得到新分划{1,2},{3,4},{5}

ni:

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

这是最后划分了。

重新命名,以1,3,5,6代替{1,2},{3,4},{5},{6,7}得DFA

 

第11题

根据正则文法(左线性文法)转化为NFA的方法构造NFA:

确定化:

所识别的语言是:

4(a|b)a(ba|a)*

第13题

(1)假设d{A,B,…,Y,Z}n{0,1,2,…,8,9}文法可以等价得化为:

<单词>—><标识符>|<整数>

<标识符>—><标识符>d|<标识符>n|d

<整数>—><整数>n|n

(2)根据正则文法(左线性文法)转化为NFA的方法构造NFA:

重新命名状态,令A、B、C分别代表<单词>、<标识符>、<整数>

 

第五章习题参考答案

1、⑴对(a,(a,a)的最左推导为:

S二'(T)='(T,S)=(S,S)=(a,S)=•(a,(T))=■(a,(T,S))=(a,(S,S)尸'

(a,(a,S))=(a,(a,a))

对(((a,a),卜、,(a)),a)的最左推导为:

S=.(T)=(T,S)=(S,S)二•((T),S)=.((T,S),S)=((T,S,S),S)=.

((S,S,S),S)=:

(((T),S,S),S)=、(((T,S),S,S),S)=・(((S,S),S,S),S尸,(((a,S),S,S),S)='(((a,a),S,S),S)=■(((a,a),人,S),S)

='(((a,a),人,(T)),S)(((a,a),人,(S)),S)=,(((a,a),人,(a)),S)(((a,a),人,(a)),a)

对(((a,a),,(a)),a)的最左推导为:

S(T)(T,S)(S,S)((T),S)((T,S)

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

当前位置:首页 > 法律文书 > 判决书

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

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