码迷,mamicode.com
首页 > 其他好文 > 详细

正规文法与正规式

时间:2019-10-17 21:41:17      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:nbsp   font   size   strong   a+b   文法   根据   str   正规文法   

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)*

 

正规文法与正规式

标签:nbsp   font   size   strong   a+b   文法   根据   str   正规文法   

原文地址:https://www.cnblogs.com/xwc520/p/11695118.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!