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

正规文法与正规式

时间:2019-10-16 00:51:49      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:art   nbsp   转换   div   eps   a*   正规文法   text   语言   

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

L1={abna|n≥0}。

解:正规文法:

  S→aA  A→bna

  A→Ba  B→bn

  B→bB|b

正规式:

  B=b*

  A=b*a

  S=ab*a

 

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

解:正规文法:

  S->AB  A->aA|a

  B->bB|b

正规式:B=a*b*

    A=a*b*b

    S=aa*b*b

 

 

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

 解:

正规文法:S->aA  A->bB

     B-aA|ε

正规式:(ab)*(ab)

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

(1)

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

 解:Z→0A   (1)
  A→0A|0B (2)
  B→1A|ε   (3)

将(3)代入(2) 得:A = 0A+0(1A+£)=0A+01A+0

                  =(0+01)A +0

                  =(0+01)*0  (4)

将(4)代入(2)得:Z=0(0|01)*0

 

(2)

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

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

将(2)、(3)同时代入(1)得:Z=(Z1+1)0+(Z0+0)1

                =Z10+10+Z01+01

                =Z(10+01)+(10+01)

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

 

(3)

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

解:S→aA    (1)
  A→bA|aB|b  (2)
  B→aA    (3)

将(3)代入(2)得:A=bA+aaA+b

           =(b+aa)*b  (4)

将(4)代入(1)得:S=a(b|aa)*b  

 

 (4)

I→l|Il|Id

解:I=l+II+Id=l+I(l+d)=l(l|d)*

 

正规文法与正规式

标签:art   nbsp   转换   div   eps   a*   正规文法   text   语言   

原文地址:https://www.cnblogs.com/lingcode/p/11676717.html

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