1.分别写出描述以下语言的正规文法和正规式:
L1={abna|n≥0}。
正规文法:
S->aA
A->bA | a
正规式:
S=ab*a
-----------------------------------------
L2={ambn|n≥1,m ≥1}
正规文法:
S->aS
S->bS|ε
正规式:
L2 = aa*bb*
-----------------------------------------
L3={(ab)n|n≥1}
正规文法:
S->(ab)S
S->(ab)S|ε
正规式:
L3=(ab)ab*
-----------------------------------------
2.将以下正规文法转换到正规式
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)*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)
Z:Za|b 为 ba*
所以Z=(10|01)(10|01)*
----------------------------------------------------------------------------------
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)*b
----------------------------------------------------------------------------------
I→l|Il|Id
I=I + Il + Id = I(l+d) + l
所以 I:l(l | d)*
A=bA+aaA+b=(b+aa)A+b
A:aA|b 为 a*b 所以,(b+aa)*b
最后,S=a(b|aa)*b