1.分别写出描述以下语言的正规文法和正规式:
L1={abna|n≥0}
正规文法:L1 -> AB A ->aBa B -> bB|ε
正规式: ab*a
L2={ambn |n≥1,m ≥1}
正规文法:L2 -> AB A -> aA|a B ->bB|b
正规式:aa*bb*
L3={(ab)n|n≥1}
正规文法:L3 -> A A -> aAb|ab
正规式: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=(0|01)*0
将②代入①可得:Z=0(0+01)*0
∴ Z=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
=(10+01)Z+10+01
∴ Z=(10|01)*(10|01)
S→aA
A→bA|aB|b
B→aA
转换可得:①S=aA ②A=bA+aB+b ③B=aA
将③代入②可得:A=bA+a(aA)+b
=bA+aaA+b
=(aa+b)A+b
∴ A=(aa|b)*b
将上式代入①可得:
S = a(aa|b)*b
I→l|Il|Id
转换可得:I=l+Il+Id
=I(l+d)+l
=(l+d)*+l
∴ I=(l+d)*l