编译原理:自下而上语法分析

1.已知文法

E→E+T | T

T→T*F | F

F→(E) | i

以句柄作为可归约串,写出符号串‘i+i*i#’的"移进-归约"分析过程。

解析:

  语法树如图所示:

  

 

   分析过程如下:

    

2.P121练习1的(1)(2)。

1)计算FIRSTVT和 LASTVT。

2)找三种关系对。

3)构造算符优先关系表。

文法:

S->a | ^ | (T)

T->T,S | S

 (1)                                                                    

   FIRSTVT(S)={a,^,(}                                             

   FIRSTVT(T)={, ,a,^,(}                                                                             

   LASTVT(S)={a,^,)}                                                                                     

   LASTVT(T)={, ,a,^,)}                                                            

(2)

符号对 =

      (T)

      #S#

符号对 <

      #S

      (T

      ,S

符号对 >

      S#

  T) 

      T,

(3)

 FIRSTVT(S)={a,^,(}

符号对:

#S

,S

 FIRSTVT(T)={, ,a,^,(}

符号对:

(T

LASTVT(S)={a,^,)}

符号对:

S#

LASTVT(T)={, ,a,^,)}

T) 

T,

 

 

a

^

(

)

,

#

a

 

 

 

 >

^

 

 

 

 >

(

=

 

)

 

 

 

 >

,

 

#

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-12-06 21:56  琴时  阅读(428)  评论(0编辑  收藏  举报