自下而上语法分析

1.已知文法:

E→E+T | T

T→T*F | F

F→(E) | i

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

 

自下而上语法分析_第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.P121练习1的(1)(2)。

S1->#S#

S->a|Λ|(T)

T->T,S|S

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       > > >
Λ       > > >
( < <   = <  
)       > > >
, < < < > >  
# < < <     =

你可能感兴趣的:(自下而上语法分析)