1.分别写出描述以下语言的正规文法和正规式:
L1={abna|n≥0}。
L2={ambn|n≥1,m ≥1}
L3={(ab)n|n≥1}
正规文法:
(1)正规文法:
S → aA
A → bA|a
正规式:
ab*a
(2)正规文法:
S → aS
S → bS|ε
正规式:
aa*bb*
(3)正规文法:
S → aA
A → bS|b
正规式:
(ab)(ab)*
2.将以下正规文法转换到正规式
(1)Z→0A
A→0A|0B
B→1A|ε
由题可知:
A=0A+0(1A+ε)=0A+01A+0=(0+01)A+0
所以A=(0+01)*|0
所以Z →0(0+01)*|0
(2)Z→U0|V1
U→Z1|1
V→Z0|0
由题可知:
Z=U0+V1
=Z10+10+Z01+01
=Z(10+01)+10+01
= Z(10|01)|(10|01)
=(10|01)*(10|01)
(3)S→aA
A→bA|aB|b
B→aA
由题可知:
A=bA+aB+b=bA+a(aA)+b=A(b+aa)+b=(b+aa)*b
所以 S=aA=a(b+aa)*b
(4)I→l|Il|Id
由题可知:
l=l+ll+ld=l+l(l+d)
所以 l=(l+d)*l