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

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)。

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

 

 

 

 >

^

 

 

 

 >

(

=

 

)

 

 

 

 >

,

 

#

 

 

=

 

 

 

猜你喜欢

转载自www.cnblogs.com/chock/p/11995351.html