编译原理作业题整理Word文件下载.doc

上传人:b****2 文档编号:14186011 上传时间:2022-10-19 格式:DOC 页数:19 大小:331KB
下载 相关 举报
编译原理作业题整理Word文件下载.doc_第1页
第1页 / 共19页
编译原理作业题整理Word文件下载.doc_第2页
第2页 / 共19页
编译原理作业题整理Word文件下载.doc_第3页
第3页 / 共19页
编译原理作业题整理Word文件下载.doc_第4页
第4页 / 共19页
编译原理作业题整理Word文件下载.doc_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

编译原理作业题整理Word文件下载.doc

《编译原理作业题整理Word文件下载.doc》由会员分享,可在线阅读,更多相关《编译原理作业题整理Word文件下载.doc(19页珍藏版)》请在冰豆网上搜索。

编译原理作业题整理Word文件下载.doc

1.(0|1)*(010)(0|1)*

2.(10*1)*|((11|00)*|0111*0)*.

2.

(0|1)*010(0|1)*

解:

(1)RE的分解树如下:

r17

r16

r11

*

r15

r14

|

r12

r13

1

r10

r9

r8

r7

r6

r5

r4

r3

r1

r2

(2)由分解树及基本的Thompson构造算法逐步构造等价的NFA过程如下:

2

3

Start

r1:

4

5

r2:

r3、r4:

6

r5:

7

7’

8

r6:

r7:

8’

9

r8:

r9:

9’

10

r10:

r11:

12

13

r12:

14

15

r13:

11

16

r14、r15:

10’

17

r16:

r17:

(3)由子集法构造等价的DFA过程如下:

A

B

C

D

E

F

G

H

I

其中含有r.初态的是A作为新的DFA的初态,含有原r17终态的是E、F、G和H作为新的DFA的终态。

做出对应DFA的状态转换图如下:

(4)直接由分割算法处理该DFA,如得到的DFAmin与原DFA一致说明原DFA本身就是最简的:

由于导致{A,B,C}和D落入的状态集是不等价的,说明{A,B,C}和D是不等价的,故{A,B,C,D}应该分裂为{A,B,C}和{D},故:

由于落入不同的状态集(相对来说是两个不等价的状态集),说明{A,C}和B是不等价的,故{A,B,C,D}应该分裂为{A,C}和{B},故:

由于落入同一个状态集,故{E,F,G,H,I}暂不分裂。

由于落入同一个状态集},故{E,F,G,H,I}暂不分裂。

故最终划分为:

说明A和C是等价的,E、F、G、H和I是等价的。

合并等价状态(A和C中保留A,E、F、G、H和I中保留E)并处理对应弧线得最小化DFA如下:

1.

3.1考虑文法

(L)|a

L,S|S

(a)建立句子(a,(a,a))和(a,((a,a),(a,a)))的分析树。

(b)为(a)的两个句子构造最左推导。

(c)为(a)的两个句子构造最右推导。

(d)这个文法产生的语言是什么。

(a,(a,a))的分析树

S

( L)

L,S

S(L)

aL,S

Sa

a

(a,((a,a),(a,a)))的分析树

S

(L)

L,S

a(L)

L,S

a(L)

L,S

a(L)

L,S

Sa

a

(a,(a,a))的最左推导

S=>lm(L)=>lm(L,S)=>lm(S,S)=>lm(a,S)

=>lm(a,(L))=>lm(a,(L,S))=>lm(a,(S,S))=>lm(a,(a,S))=>lm(a,(a,a))

(a,((a,a),(a,a)))的最左推导

S=>lm(L)=>lm(L,S)=>lm(S,S)=>lm(a,S)=>lm(a,(L))

=>lm(a,(L,S))=>lm(a,(S,S))=>lm(a,((L),S))=>lm(a,((L,S),S))=>lm(a,((S,S),S))=>lm(a,((a,S),S))=>lm(a,((a,a),S))=>lm(a,((a,a),(L)))=>lm(a,((a,a),(L)))

=>lm(a,((a,a),(L,S)))=>lm(a,((a,a),(S,S)))=>lm(a,((a,a),(a,S)))=>lm(a,((a,a),(a,a)))

(a,(a,a))的最右推导

S=>rm(L)=>rm(L,(L))=>rm(L,(L,S))=>rm(L,(L,a))

=>rm(L,(S,a))=>rm(L,(a,a))=>rm(S,(a,a))=>rm(a,(a,a))

(a,((a,a),(a,a)))的最右推导

S=>rm(L)=>rm(L,S)=>rm(L,(L))=>rm(L,(L,S))

=>rm(L,(L,(L)))=>rm(L,(L,(L,S)))=>rm(L,(L,(L,a)))=>rm(L,(L,(S,a)))=>rm(L,(L,(a,a)))=>rm(L,(S,(a,a)))=>rm(L,((L),(a,a)))=>rm(L,((L,S),(a,a)))=>rm(L,((L,a),(a,a)))=>rm(L,((S,a),(a,a)))=>rm(L,((a,a),(a,a)))=>rm(S,((a,a),(a,a)))=>rm(a,((a,a),(a,a)))

(d)该文法产生的语言是括号匹配的串,串中的各项用“,”隔开,项可以是括号匹配的子串或a

3.2考虑文法

S→aSbS|bSaS|ε

(a)为句子abab构造两个不同的最左推导,以此说明文法是二义的。

(b)为abab构造对应的最右推导。

(c)为abab构造对应的分析树

(a)1.S=>lmaSbS=>lmabSaSbS=>lmabaSbS=>lmababS

=>lmabab

2.S=>lmaSbS=>lmabS=>lmabaSbS=>lmababS=>lmabab

(b)S=>rmaSbS=>rmaSb=>rmabSaSb=>rmabSab=>rmabab

(C)分析树

(1)

S

aSbS

εaSbS

εε

分析树

(2)

S

aSbS

aSbSε

εε

(d)该文法产生的语言是a、b个数相等的ab串含空串

习题3

3.3下面的二义文法描述命题演算公式,为它写一个等价的非二义性文法。

S→SandS|SorS|notS|true|false|(S)

E->

EorT|T

T->

TandF|F

F->

notF|(E)|true|false

3.10构造下面文法的LL

(1)分析表

D->

TL

T->

int|real

L->

idR

R->

idR|ε

First(TL)={int,real} Follow(D)={#}

First(T)={int,real} Follow(T)={id}

First(D)={int,real} Follow(L)={#}

First(int)={int} Follow(R)={#}

First(real)={real}

First(idR)={id}

First(L)={id}

First(,idR)={,}

First(ε)={ε}

First(R)={,,ε}

Int

Real

Id

#

T

T->

int

real

L

L->

R

R->

idR

ε

3.11下面的文法是否为LL

(1)文法?

说明理由。

(两种方法)

S->

AB|PQx

A->

xy

B->

bc

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

当前位置:首页 > 工程科技 > 材料科学

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

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