编译原理第六次作业

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

(1)L1={abna|n≥0}。

(2)L2={ambn|n≥1,m ≥1}

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

正规文法

(1)S -> aA

A ->Ba | a

(2)S ->aS | aA

A->Ab | b

(3)S ->(ab)S | (ab)

正规式

(1) S = ab*a

(2) S = aa*bb*

(3) S = (ab)(ab)*

 2.将以下正规文法转换到正规式

(1)Z→0A
A→0A|0B
B→1A|ε

答:

(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=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

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

猜你喜欢

转载自www.cnblogs.com/renshenbenzuig/p/11694713.html