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