编译原理课后答案Word格式.docx

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

编译原理课后答案Word格式.docx

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

编译原理课后答案Word格式.docx

方法2:

AB|0B|C|0

1|2|3|4|5|6|7|8|9

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=>

F+T=>

i+T=>

i+T*F=>

i+F*F=>

i+i*F=>

i+i*I

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

最左推导1:

S=>

Ac=>

abc

最左推导2:

aB=>

9、⑴

aa

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

10、

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

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

最左推导1:

S(S)S=>

(S)S=>

()S=>

()S(S)S=>

()(S)S=>

()()S=>

()()最左推导2:

S(S)S(S)S=>

(S)S(S)S=>

()()

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

E=>

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

SBB|b

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

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

直接短语有:

a1,a2,b1,b2,£

句柄:

a1

14、

(1)G[S]:

AB

aAb|£

aBb|£

(2)G[S]:

1S0|A

0A1|£

(3)G[S]:

0S0|aSa|a16、

(1)G[A]:

A—>

aA|£

(2)G[A]:

aA|aB

bB|b

(3)G[A]:

aA|B

bB|C

C->

cC|£

、/、(和)

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

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

 

第四章参考答案

第1题:

确定化:

|0

I1

-S

A

AC

ABZ

+ABZ

S

B

C

Z

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

1

D

+Z

a,b

b

2

3

4

Ia

Ib

AZ

+AZ

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

-0

+3

+4

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

第2题:

E

F

Io

11

X

XZ

Y

+XZ

XY

XYZ

+XYZ

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

得DFA

重新命名,

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

+B

+C

+F

第3题:

Il

VQ

QU

VZ

V

QUZ

+VZ

+QUZ

G

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

-A

+D

+G

第4题:

⑴确定化:

la

-+o

01

+01

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

-+A

最小化:

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

no:

{A,B},{C}

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

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

{C}得DFA

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

初始分划得:

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

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

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

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

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

当前位置:首页 > IT计算机 > 互联网

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

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