编译原理 作业六

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

L1={abna|n≥0}。                G(X)-> A|XB    ab*A

L2={ambn|n≥1,m ≥1}               G(X)-> AAX|BBX  aa*bb*

L2={(ab)n|n≥1}                G(X)-> AXB|AB   ab(ab)*

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

Z→0A                    解:A=0A+0B  ->  A=0A+0(1A+ε)     ->       a=(0+01)                             ->  A=(0+01)*0  -> Z = 0A=0(0+01)*0=0(0|01)*0

A→0A|0B                            =0A+01A+0      b=0
B→1A|ε                            =(0+01)A+0      A=aA+b

                                            aA+b=aA|B 

                                            G(A)-> aA|b

                                          A=a*b

                                

Z→U0|V1             解: Z=U0+V1    ->      Z=(Z1+1)+(Z0+0)   ->  a=1+0   ->  Z=(0+1)*(0+1)
U→Z1|1                  U=Z1+1     =Z1+Z0+1+0    Z=Za+a

V→Z0|0                  V=Z0+0     =Z(1+0)+1+0    Z->aZ|a

                                        Z=a*a

S→aA              解:S=aA      ->A=bA+aaA+b  ->S=a(b+aa)*b
A→bA|aB|b              A=bA+aB+b     =(b+aa)A+b     =a(b|aa)*b
B→aA                B=aA         =(b+aa)*b

I→I|Il|Id             解:l=l+ll+ld=l+l(l+d)  ->   l=l(l|d)*

 
 
原文地址:https://www.cnblogs.com/zzkai/p/11676554.html