13、自下而上语法分析

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)构造算符优先关系表。

-------------------------------------------------------------------------------------

解:

1、

符号串 输入串 动作
# 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、

   1)计算FIRSTVT和 LASTVT

  S1→ #S#

  S→ a|Λ|(T)

  T→ T,S|S

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

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

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

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

   2)找三种关系对

① =

  (T)

  #S#

------------------------------------

② <

  #S

  ,S

  (T

------------------------------------

③ >

  S#

  T)

  T,

------------------------------------

   3)构造算符优先关系表

  a Λ ( ) , #
a       > > >
Λ       > > >
( < < < = <  
)       > > >
, < < < > >  
# < < <      

 

猜你喜欢

转载自www.cnblogs.com/dyun3/p/11981882.html