正规文法与正规式
1.分别写出描述以下语言的正规文法和正规式:
L1={abna|n≥0}
正规文法:S->aA
A->Ba
B->bB|ε
正规式:S=aA
A=Ba
B=bB+ε=b*
A=b*a
S=ab*a
L2={ambn|n≥1,m ≥1}
正规文法:S->AB
A->aA|a
B->bB|b
正规式:S=AB
A=a*a
B=b*b
S=a*ab*b
L3={(ab)n|n≥1}
正规文法:S->ab|abS
正规式:S=ab(ab)*
2.将以下正规文法转换到正规式
Z→0A
A→0A|0B
B→1A|ε
Z=0A
A=0A+0B
B=1A+ε
A=0A+0(1A+ε)
=0A+01A+0
=(0+01)A+0
A->aA|b->a*b->(0+01)*0
Z=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
=(b+aa)A+b
A->aA|b->a*b->(b+aa)*b
S=a(b+aa)A+ab
正规式:a(b|aa)*ab
I→L|IL|Id
I=L+IL+Id
=I(L+d)+L
正规式:L(L+d)*