1.分别写出描述以下语言的正规文法和正规式:
L1={abna|n≥0}。
L2={ambn|n≥1,m ≥1}
L3={(ab)n|n≥1}
正规文法:
(1)S → aA
A → bA|a
(2)S → aS
S → bS|ε
(3) S → aA
A → bS|b
正规式:
(1) ab*a
(2) aa*bb*
(3) (ab)(ab)*
2.将以下正规文法转换到正规式
(1)Z→0A
A→0A|0B
B→1A|ε
由题可知:
A=0A+0(1A+ε)
A=0A+01A+0ε=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