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