第十三次作业 自下而上语法分析

1.已知文法:

E→E+T | T

T→T*F | F

F→(E) | i

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

 解:

 

符号栈

输入串

动作

 

#

i+i*i#

移进

 

#i

+i*i#

归约

 

#F

+i*i#

归约

 

#T

+i*i#

归约

 

#E

+i*i#

移进

 

#E+

i*i#

移进

 

#E+i

*i#

归约

 

#E+F

*i#

归约

 

#E+T

*i#

归约

 

#E+T*

i#

移进

 

#E+T*i

#

归约

 

#E+T*F

#

归约

 

#E+T

#

归约

 

#E

#

接受

 

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

1)计算FIRSTVT和 LASTVT。

2)找三种关系对。

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

 解:

  1)FIRSVT(S) = { a, ^, ( }

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

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

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

  2)关系对:

     =

     #S#

     (T)

 

     <

     #A

     ,A

     (T

 

     >

     S#

     T)

     T,

 

    3) 算符优先关系表:

 

a

^

(

)

,

#

a

 

 

 

^

 

 

 

(

=

 

)

 

 

 

,

 

#

 

 

=

posted @ 2019-12-06 17:31  fourn666  阅读(132)  评论(0编辑  收藏  举报