zoukankan      html  css  js  c++  java
  • 编译原理6 正规文法与正规式


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

    L1={abna|n≥0}。

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

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

     答:

    正规文法:

    L1:S->aA

      A->bA | a

    L2:S->aS

         S->bS | ε

    L3:S->aA

      A->bS | b

    正规式:

    L1:ab*a

    L2:aa*bb*

    L3:ab(ab)*

     

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

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

     答:Z=0A,A=0A+0B,B=1A+ε

      A = 0A + OB

      = 0A + 0(1A+ε)

      = 0A + 01A + 0

      =(0+01)A+0

      = (0|01)*0

      =(0101)A10

      所以Z = 0A = 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 + V1

      Z = (Z1+1)0 +(Z0+0)1

      Z = Z10 + 10 +Z01 + 01

      Z = Z(10+01)+10+01

      Z = (10+01)*1001

    S→aA
    A→bA|aB|b
    B→aA

     答:

      S = aA , A = bA + aB + b , B = aA

      A = bA + aB + b

            = bA + aaA + b

         = (b+aa)A + b = (b|aa)*b

        S = aA = a(b|aa)*

     

    I→l|Il|Id

    答: 

       I→l | Il | Id

        =l | I( I + d )

        = I( I + d ) +I

         →Ia | b

        得: a =( I + d ) ,b= I

       I=I( I + d ) *  =I( I | d ) *.

  • 相关阅读:
    我的学习记录-JAVA SE 03
    我的学习记录-JAVA SE 02
    我的学习记录-JAVA SE 01
    我的mysql的学习记录
    Hibernate4学习一
    java3
    java5
    java基础4
    java2
    java
  • 原文地址:https://www.cnblogs.com/longlog/p/11696594.html
Copyright © 2011-2022 走看看