正规文法与正规式
Posted lingcode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正规文法与正规式相关的知识,希望对你有一定的参考价值。
1.分别写出描述以下语言的正规文法和正规式:
L1={abna|n≥0}。
解:正规文法:
S→aA A→bna
A→Ba B→bn
B→bB|b
正规式:
B=b*
A=b*a
S=ab*a
L2={ambn|n≥1,m ≥1}
解:正规文法:
S->AB A->aA|a
B->bB|b
正规式:B=a*b*
A=a*b*b
S=aa*b*b
L2={(ab)n|n≥1}
解:
正规文法:S->aA A->bB
B-aA|ε
正规式:(ab)*(ab)
2.将以下正规文法转换到正规式
(1)
Z→0A
A→0A|0B
B→1A|ε
解:Z→0A (1)
A→0A|0B (2)
B→1A|ε (3)
将(3)代入(2) 得:A = 0A+0(1A+£)=0A+01A+0
=(0+01)A +0
=(0+01)*0 (4)
将(4)代入(2)得:Z=0(0|01)*0
(2)
Z→U0|V1
U→Z1|1
V→Z0|0
解: Z→U0|V1 (1)
U→Z1|1 (2)
V→Z0|0 (3)
将(2)、(3)同时代入(1)得:Z=(Z1+1)0+(Z0+0)1
=Z10+10+Z01+01
=Z(10+01)+(10+01)
=(10|01)(10|01)*
(3)
S→aA
A→bA|aB|b
B→aA
解:S→aA (1)
A→bA|aB|b (2)
B→aA (3)
将(3)代入(2)得:A=bA+aaA+b
=(b+aa)*b (4)
将(4)代入(1)得:S=a(b|aa)*b
(4)
I→l|Il|Id
解:I=l+II+Id=l+I(l+d)=l(l|d)*
以上是关于正规文法与正规式的主要内容,如果未能解决你的问题,请参考以下文章