正规文法与正规式

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

L1={abna|n≥0}

正规文法:S->aA

                   A->Ba

                   B->bB|ε

正规式:S=aA

    A=Ba

    B=bB+ε=b*

    A=b*a

    S=ab*a

 

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

正规文法:S->AB

         A->aA|a

       B->bB|b  

正规式:S=AB

     A=a*a

     B=b*b

     S=a*ab*b

 

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

正规文法:S->ab|abS

正规式:S=ab(ab)*

 

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

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

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)A+0)

正规式:0(0|01)*0

 

Z→U0|V1
U→Z1|1
V→Z0|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)

正规式:(10+01)*(10+01)

 

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

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)A+ab

正规式:a(b|aa)*ab

 

I→L|IL|Id

I=L+IL+Id

 =I(L+d)+L

正规式:L(L+d)*

posted @ 2019-10-16 11:15  虚鲲  阅读(302)  评论(0编辑  收藏  举报