正规文法与正规式

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

L1={abna|n≥0}。

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

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

(1)L1={abna|n≥0}

  S->aA

  A->Ba

  B->bn

  B->bB|ε

  S=ab*a 

  (2)   L2={ambn|n≥1,m ≥1}

  S->AB

  A->aA|a

  B->bB|b

  S=aa*bb*

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

  S->aA

  A->aB B->bB|ε

  S=(ab)(ab)*

 

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

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

  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

 

 (2)Z→U0|V1
  U→Z1|1
  V→Z0|0

  Z=U0+V1 ,U=Z1+1 ,V=Z0+0

   将U,V代入Z可得:Z=(Z1+1)0+(Z0+0)1=Z10+10+Z01+01=(10+01)Z+10+01=(10|01)*(10|01)

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

 

 

 (3)S→aA
  A→bA|aB|b
  B→aA

  S=aA ,A=bA+aB+b ,B=aA

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

  Z = a(bA+aB+b)=abA+aaB+ab=abA+aaaA+ab= a*(ab)*

 (4)I→l|Il|Id

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

 

posted @ 2019-10-17 21:13  诚诚诚诚诚诚诚  阅读(551)  评论(0)    收藏  举报