正规文法与正规式


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

L1={abna|n≥0}。

正规文法:

S->aA

A->bA | a

 

正规式:

S=ab*a

-----------------------------------------

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

正规文法:

S->aS

 

S->bS|ε

 

正规式:

L2 = aa*bb*

-----------------------------------------

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

正规文法:

S->(ab)S

 

S->(ab)S|ε

 

正规式:

L3=(ab)ab*

 -----------------------------------------

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

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

解:

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

A:aA|B 为 a*b,所以,(0+01)*0

最后,Z=0(0|01)*0

----------------------------------------------------------------------------------

 

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

 解:

Z=(Z1+1)0+(Z0+0)1=Z10+10+Z01+01=Z(10+01)+(10+01)

Z:Za|b 为 ba*

所以Z=(10|01)(10|01)*

----------------------------------------------------------------------------------

 

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

解:

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

A:aA|b a*b 所以,(b+aa)*b

最后,S=a(b|aa)*b

----------------------------------------------------------------------------------

 

I→l|Il|Id

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

所以 I:l(l | d)*

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

A:aA|b a*b 所以,(b+aa)*b

最后,S=a(b|aa)*b

 

你可能感兴趣的:(正规文法与正规式)