正规文法与正规式

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

1)  L1={ab^na|n≥0}

  正规文法:

  S->aA     A->b^na

  A->Ba  B->b^n 

  B->ε| bB

  正规式:S=ab*a

 

2)  L2={a^mb^n|n≥1,m ≥1}

  正规文法:

  S->AB

  A->aA|a

  B->bB|b

  正规式:S= aa*bb*

 

3) L2={(ab)^n|n≥1}

  正规文法:

  S->aA

  A->aB

  B->bB|ε

  正规式:S=(ab)(ab)*

  

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

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

   解:  Z=0A

       A=0A+0B

       B=1A+ε

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

       =0A+01A+0

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

       =A(b+aa)+b

          =(b+aa)*b

         S=a(b+aa)*b  

  I→l|Il|Id

 

   解: I=I+II+Id

       =I+I(I+d)

       =I(I+d)*

       

 

posted @ 2019-10-17 17:38  Seraooo  阅读(551)  评论(0编辑  收藏  举报