• 正规文法与正规式


     3型文法也叫作正规文法,它对应于有限状态自动机,它是在2型文法的基础上满足:A->a|aB(右线性)或A->a|Ba(左线性)。如果有A->a,A->aB,B->a,B->cB则符合3型文法的要求。但是A->ab,A->aB,B->a,B->cB或A->a,A->Ba,B->a,B->cB则不符合3型文法的要求。也就是说,不能够推导出两个终结符,而且左线性和右线性只能使用一种,不能够同时出现。

    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

         L1 = ab*a

       (2)S → aA

          A → aA | bB | b

          B → bB | b

         L2 = a*b*

       (3)S → aA

           A → bB

          B → aA | ε

         L3 = (ab)*

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

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

     答:Z = 0A

      A = 0A + 0B

      B = 1A + ε

      A = 0A + 0(1A + ε) = 0A + 01A + 0 

      A = aA | b

      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 + V1

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

      Z = Z10 + 10 +Z01 + 01

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

      Z = (10+01)*1001

      Z = (10 | 01)*1001

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

    答:S = aA

      A = bA + aB + b

      B = aA

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

      S = (b | aa)*b

    I→l|Il|Id

    答: I = l + Il + Id

       I = l + I(l +d)

       I = l(l | d)*

  • 相关阅读:
    SQL中使用WITH AS提高性能
    电子邮件原理
    DirectoryEntry 活动目录的使用
    Entity Framework 教程(转)
    用sp_addlinkedserver建立链接服务器(sql server2008中通过测试)
    SQL2008和SQL2000可以跨服务器连接查询的测试实例
    Linq快速入门——扩展方法
    easyui 很好很强大
    【转】Jmeter内存溢出处理方式记录
    【转】Jmeter安装成功后的目录介绍
  • 原文地址:https://www.cnblogs.com/raicho/p/11684484.html
Copyright © 2020-2023  润新知