作业6

1.分别写出描述以下语言的正规文法和正规式:

L1={abna|n≥0}。

L2={ambn|n≥1,m ≥1}

L3={(ab)n|n≥1}

∵正规文法的每一个产生式的形式都是A→aB或者是A→a

①设文法G(S)={abna|n≥0}

∴S->aA

A->Ba

B->bn

B->bB|ε

正规式

ab*a

②设文法G(S)={ambn|n≥1,m ≥1}

∴S->AB

A->aA|a

B->bB|b

正规式

aa*bb*

③设文法G(S)={(ab)n|n≥1}

∴S->(A)A|(A)

A->(ab)

正规式

(ab)(ab)*

 

 2.将以下正规文法转换到正规式

Z→0A
A→0A|0B
B→1A|ε

①答:

由题可知:

A=0A+0(1A+ε)

A=0A+01A+0ε=0A+01A+0=(0+01)A+0

令x=(0+01),y=0,根据规则A→xA|y转换为正规式为A=x*y

∴A=x*y=(0+01)*0

Z=0(0+01)*0=0(0|01)*0

 

Z→U0|V1
U→Z1|1
V→Z0|0

 答:

∵V→Z0|0

∴V=00*

∵U→Z1|1

∴U=11*

∴Z=11*0+00*1=1(1*0+00*)=1(1*0|00*)

∴Z=1(1*0|00*)

 

S→aA
A→bA|aB|b
B→aA

答:

由题可得:

A=bA+aaA+b=(b+aa)A+b

相当于A->xB|y,转换为规则式为A=x*y

∴A=(b+aa)*b

∵S->aA

∴S=a(b+aa)*b=a(b|aa)*b

I→l|Il|Id

答:

I=l+Il+Id=I(l+d)+l

相当于I->Ix|y,转换为规则式为I=yx*

∴I=l(l+d)*=l(l|d)*

∴I=l(l|d)*

posted @ 2019-10-18 21:32  广宇小陈  阅读(223)  评论(0)    收藏  举报