コンパイラの理論の仕事、6-正規文法とフォーマルなスタイル

1.定期的な文法と形式言語の式です以下の記述を書きます:

L1 = {AB N |≧0}。

L2 = { m個の B N |≧1、M}≥1

L3 = {(A-B)N |≧1}

正規文法:

   (1)定期的な文法:

       S→を1aA

       →|

       正規表現:

       AB * A

   (2)定期的な文法:

      S→aSに

      農業→bSの|ε

      正規表現:

      AA * BB *

  (3)定期的な文法:

      S→を1aA

      →bSの| B

      正規表現:

       (AB)(AB)*

 

 2.通常の式に次の正規文法を変換します

(1)Zが0A→
    A→0Aを| 0Bの
    Bー→1A | E

   タイトルから:

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

   したがって、A =(0 + 01)* | 0

    だから、Z→0(0 + 01)* | 0

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

    タイトルから:

   V1 = U0 +付き

     = Z10 + 10 + Z01 + 01

     Z =(10 + 01)+ 10 + 01

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

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

(3)Sー→のAA
    A→BA |αBは| Bの
    Bの→AAの

    タイトルから:

    A = AB +のBA + BA + B = A(AA)+ B = A(B + A-A)+ B =(B + AA)* B

   したがって、S =を1aA =(B + AA)* B

(4)→I | | A

    タイトルから:

    L = L + LL + LD = L + L(L + D)

   したがって、L =(L + D)* L

おすすめ

転載: www.cnblogs.com/cnw834575008/p/11698345.html
おすすめ