第六次作业

1.分别写出描述以下语言的正规文法和正规式:

L1={abna|n≥0}。

正规文法:

  S->aA  A->b^na

  A->Ba  B->b^n

  B->bB|ε

正规式:

  S->ab*a

L2={ambn|n≥1,m ≥1}

正规文法:

  S->AB

  A->aA|a

  B->bB|b

正规式:

  S->aa*bb*

L3={(ab)n|n≥1}

正规文法:

  S-> A   

  A -> aAb|a

正规式:

  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

posted on 2019-10-15 11:40  321木头人123  阅读(87)  评论(0编辑  收藏  举报

导航