ジョブ2:文法と言語を理解

 

1.その記号列と設定操作を理解し

 

L = {A、B、...、Z、A、B、...、Z}

 

D = {0,1、...、9}

 

代表の下で意味の説明:

回答:

 

LUD:Lセットと、すべての文字と数字のセットのセットD

 

LD:Lのセットで数字の後、すべての記号によってセットDの文字、例えばA0、B1 ...等、文字列の集合からなります

 

L4:4文字の集合Lのセット

 

L *:のセットを含むシンボルの空の文字列中の記号列のすべての文字

 

D +:と文字が続く文字で始まるすべてのシンボル、文字列の集合からなる番号

 

全て単一または数字のセットの記号列の複数:L(LUD)*

 

 

2.文法G(Z):Z-> AZB |言語のどのような種類のABの定義?

 

回答:Z-> AZB | AB利用でき、
Z-> aZb-> aaZbb-> AAABBB

 

したがって:L(G)= {anbn | N> 1}

 

 

3.書き込み文法四元フォーム材料実施例22ページ2.2識別子(VN、NT、P、S)。

 

I->

 

L->

 

D->

 

回答:

 

I-> L | IL | ID

 

L-> A | B | C | ... | X | Y | Z

 

D-> 0 | 1 | 2 | ... | 8 | 9

 

 

4.次の式が左端の導出、右端の導出を書きます。

 

G(E):

 

E => E + T | T

 

T => T * F | F

 

F =>(E)|

 

私は+ *
私は私が* +
Iが(I + I)を+
異なる左端と右端の導出過程を観察します。

 

:1は、私は私が左端の派生を+ *:

 

E => E + T => T + T => T * F + T => F * F + T => i *はF + T => I * I + T =>私は*> =私はFを+ *私は、私は+

 

   右端の導出:

 

E => E + T => E + F => E + I => T + I => T * F + I => T私は+ * I => F * I + I =>私は私を+ *

 

  2、i+i*i
最左推导:

 

E => E + T => T + T => F + T => I + T =>私はT * Fを+ =>私はF * Fを+ =>私はFを* + =>私は私を* +

 

右端の導出:

 

E => E + T => E + T * F => E + T * I => E + F * I => E + I * I => T + iは=> F +を* i *はI =>私は* +

 

  3、i+(i+i)最左推导:

 

E => E + T => T + T => F + T => iがTを+ => iがF => I +(E)=>を+ I +(E + T)=> I +(T + T)=> I +(F + T)=> iが+ iは+(iはF + 1)=>をiが+(私+ 1)> =(私はT + 1)

 

右端の導出:

 

E => E + T => E + F => E +(E)=> E +(E + T)=> E +(E + F)=> E +(E + I)=> E +(T I +)= > E +(F + I)=> Eは、+(私は+)=> T +は、(私は+)=> F +は、(私は+)=> iが+(私+ 1)

 

おすすめ

転載: www.cnblogs.com/heiyedeshihouh/p/11511735.html