正规文法与正规式
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)
A=0A+0(1A+ε)
=0A+01A+0
=A(0+01)+0
=(0+01)*0
所以:
Z=0A
=0(0+01)*0
=0(0|01)*0
(2)
Z=U0+V1
=(Z1+1)0+(Z0+0)1
=Z10+10+Z01+01
=Z(10+01)+10+01
=(10+01)*(10+01)
(3)
A=bA+aB+b
=bA+aaA+b
=A(b+aa)+b
=(b+aa)*b
S=aA
=a(b+aa)*b
=a(b|aa)*b
(4)
I→l|Il|Id
l=l+Il+Id
=I(l+d)+l
=I(l+d)*
=I(l|d)*