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。

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

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

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

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

2)找三种关系对。

= :(T)#S#     <:#S (T ,S  >:#S T) T,

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

 

a

^

,

(

)

#

a

 

 

>

 

^

 

 

>

 

,

<

<

>

<

>

 

(

<

=

 

)

 

 

>

 

#

 

 

=

 

posted on 2019-12-06 21:24  hebinwen  阅读(100)  评论(0编辑  收藏  举报