编译原理学习(7)正规文法与正规式

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

L1={abna|n≥0}。

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

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

 

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

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

 

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

 

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

 

I→l|Il|Id

 

解:

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

L1:

S->aA   A->bna  A->bA|a

可由正规文法定义:

L2:

T->aS|bA  A->bA| ε

可由正规文法定义:

L3:

S->aA  A->bB  B-aA|ε

正规式:

L1:ab*a  L2:aa*bb*  L3: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)*

你可能感兴趣的:(编译原理学习(7)正规文法与正规式)