正规文法与正规式
1. 分别写出描述以下语言的正规文法和正规式:
1) L1={ab^na|n≥0}
正规文法:
S->aA A->b^na
A->Ba B->b^n
B->ε| bB
正规式:S=ab*a
2) L2={a^mb^n|n≥1,m ≥1}
正规文法:
S->AB
A->aA|a
B->bB|b
正规式:S= aa*bb*
3) L2={(ab)^n|n≥1}
正规文法:
S->aA
A->aB
B->bB|ε
正规式:S=(ab)(ab)*
2.将以下正规文法转换到正规式
Z→0A
A→0A|0B
B→1A|ε
解: Z=0A
A=0A+0B
B=1A+ε
S=0A+0(1A+ε)
=0A+01A+0
=(0+01)A+0
=(0|01)A|0
=0(0|01)*0
Z→U0|V1
U→Z1|1
V→Z0|0
解: Z=U0+V1
U=Z1+1
V=Z0+0
Z=(Z1+1)0+(Z0+0)1
=Z10+10+Z01+01
=Z(10+01)+10+01
= (10 + 01)*10 | 01
S→aA
A→bA|aB|b
B→aA
解: S=aA
A=bA+aB+b
B=aA
A=bA+aaA+b
=A(b+aa)+b
=(b+aa)*b
S=a(b+aa)*b
I→l|Il|Id
解: I=I+II+Id
=I+I(I+d)
=I(I+d)*