正规文法与正规式

江枫思渺然 提交于 2019-12-01 11:56:22

 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

   (2)S -> aABb

       A -> aA | ε

      B -> bB | ε

   (3)S -> abβ

       β -> 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

 

 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 = I + Il + Id

   I = l + I(l +d)

   I = (l +d)*l

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!