编译原理作业6-正规文法与正规式

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

L1={abna|n≥0}。

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

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

正规文法:

   (1)正规文法:

       S → aA

       A → bA|a

       正规式:

       ab*a

   (2)正规文法:

      S → aS

      S → bS|ε

      正规式:

      aa*bb*

  (3)正规文法:

      S → aA

      A →  bS|b

      正规式:

       (ab)(ab)*

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

(1)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

(2)Z→U0|V1
    U→Z1|1
    V→Z0|0

    由题可知:

   Z=U0+V1

     =Z10+10+Z01+01

     =Z(10+01)+10+01

     = Z(10|01)|(10|01)

     =(10|01)*(10|01)

(3)S→aA
    A→bA|aB|b
    B→aA

    由题可知:

    A=bA+aB+b=bA+a(aA)+b=A(b+aa)+b=(b+aa)*b

   所以 S=aA=a(b+aa)*b

(4)I→l|Il|Id

    由题可知:

    l=l+ll+ld=l+l(l+d)

   所以 l=(l+d)*l

猜你喜欢

转载自www.cnblogs.com/cnw834575008/p/11698345.html