自下而上语法分析

 

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)

S1→ #S#

S→ a|Λ|(T)

T→ T,S|S

1)计算FIRSTVT和 LASTVT。

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

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

 

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

LASTVT={, , a,Λ,) }

2)找三种关系对。

=

 #S#‘’

(T)

 

<

 #S

(T

,S

 

>

S#

T)

T,

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

 

a

Λ

(

)

,

#

a

 

 

 

>

>

>

Λ

 

 

 

>

>

>

(

<

<

<

=

<

 

)

 

 

 

>

>

>

,

<

<

<

>

>

 

#

<

<

<

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-12-04 18:49  Doctor-Chan  阅读(218)  评论(0编辑  收藏  举报