(3)文法や言語を学ぶコンパイラの理論

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

   文法G(Z)は、二つの生成規則を有しています。

  (1)Z-> AZB

  (2)Z-> AB

  > ...... -最初のタイプを生成し、第2を生成するために式を使用するN-1回を使用して、Z-> aZb-> aaZbb-> aaaZbbb-> aaaZbbb得たN-1のB のN- -1 - > N- B N-

 

2.書き込み文法四元フォーム材料の例2.2の22ページ識別子。

  文法クワッド形式:

  文法G =(V N、V T、P、S)

  V N- = {Wは、(識別子)であり、Q(文字)、K(数)}

  V T = {A、B、C、D ........... Z、0,1 ....... 9}

  P = {W - > Q | K}

  S = {W}

 

3.次の式左端導出し、右端の派生構文木を書きます。

G(E):

E => E + T | T

T => T * F | F

F =>(E)|

  • 私は私を+ *
  • 私は* +
  • I +(iは+ 1)

 別の左端と右端の導出過程と同様に、構文木の類似点と相違点を守ってください。

  (1)私は私を+ *

    左端の導出:

    E => E + 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 * T + I => T * T + I => T私は+ * = >私は私を+ *

    

    

   (2)私は私を* +

    左端の導出:

    E=>E+T=>T+T=>F+T=>i+T=>i+T*F=>i+F*F=>i+i*i

    最右推导:

    E=>E+T=>E+F=>E+E=>E+E+T=>E+T*F=>E+T*F=>E+T*i=>E+F*i=>E+i*i=>T+i*i=>F+i*i=>i+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+T)=>i+(i+F)=>i+(i+i)

    最右推导:

    E=>E+T=>E+F=>E+(E)=>E+(E+T)=>E+(E+F)=>E+(E+i)=>E+(T+i)=>E+(F+i)=>E+(i+i)=>T+(i+i)=>F+(i+i)=>i+(i+i)

    

おすすめ

転載: www.cnblogs.com/xyqzzz/p/11515150.html