自下而上语法分析

只愿长相守 提交于 2019-12-06 20:40:34

1.已知文法:

E→E+T | T

T→T*F | F

F→(E) | i

以句柄作为可归约串,写出符号串‘i+i*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)计算FIRSTVT和 LASTVT。

  为:

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

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

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

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

解:2)找三种关系对。

  为:

      =

      #S#

      (T)

 

      < 

      #S

      (T

      ,S

 

      > 

      S#

      T)

      T,

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

  为: 

 

a

^

(

)

,

#

a

     

 >

^

     

 >

(

=

 

)

     

 >

,

 

#

   

=

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!