コンパイラの理論:正式な文法とフォーマルなスタイル

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

L1 = {AB N |≧0}。

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

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


 

解像度:

(1)文法G(S)=設けられている{AB&N- | N≧0}

正規文法:

S→を1aA

→ありません

B→Bは、N

B→bBで| E

正規表現:

B =ε+ bBを= B *

= = B *

S = AB * A

(2)に配置された文法G(S)= {AMBN |≧1、M}≥1

正規文法:

S→AB

→AAの| A

B→bBで| B

正規表現:

=を1aA + A = A * A

B = bBで+ B = b *表B

S = AB = AA * BB *

(3)に配置された文法G(S)= {(A-B&)N- |} N≧1

正規文法:

S→AB | ABS

正規表現:

S = A-B + ABS = AB(1 + S)= AB(AB)*

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

0A→Z
A→0A | 0B
B→1A | E


 

 (1)分析:

正規表現:

= 0A | 0B = 0A 0B +

    = 0A +0(1A + E)

    = 0A + 01A + 0E

    = 0A + 01A +0

    =(0 + 01)A + 0

    =(0101)* 0

Z = 0A = 0(0 | 01)* 0

 

V1 |→のU0と
U→Z1 | 1
Z 0→V | 0


 

(2)分析:

正規表現:

  Z = V0 + V1、Z1 = U + 1、V 0 = Z0 +

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

    = Z10 + 10 + Z01 + 01

    Z =(10 + 01)+ 10 + 01

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

S→を1aA
A→BA |αBは| bは
Bの→AAの

 


 

(3)分析:

正規表現:

  S = AA、A = AB +のBA + B、B = AA

  A = BA + AAA + B

     =(B + AA)A + B

  B * |(AA b)のSは=

I→よ|彼は| ID


(4)分析:

正規表現:

  I = IはID +それを+

   = I(L + D)+ L

   =(L | D)* L

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/zhif97/p/11683910.html
おすすめ