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

 

 

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

正规文法:

S->aA

A->Ba

B->ε|bB

正规式:

B=ε+bB=b*

A=Ba=b*a

S=aA=ab*a

 

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

正规文法:

S->AB

A->aA|a

B->bB|b

正规式:

A=aA+a=a*a

B=bB+b=b*b

S=AB=aa*bb*

 

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

正规文法:

S->ab|abS

正规式:

S=ab+abS=ab(ab)*

 

 

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

(1)Z→0A

         A→0A|0B

         B→1A|ε

A=0A+0B=0A+0(1A+ε)=0A+01A+0=(0+01)A+0=(0|01)*0

Z=0A=0(0|01)*0

 

(2) Z→U0|V1

          U→Z1|1
          V→Z0|0

U=Z1+1

V=Z0+0

Z=U0+V1=(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

          B=aA

A=bA+aB+b=bA+aaA+b=(b+aa)A+b=(b|aa)*b

S=aA=a(b|aa)*b

 

 (4)I→l|Il|Id

 I=l+lI+Id=l+I(l+d)=l(l+d)*

posted on 2019-10-17 19:59  俞英杰  阅读(208)  评论(0编辑  收藏  举报