自下而上语法分析

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)

A= # S #

S -> a | ^ | (T)

T -> T , S | S

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

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

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

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

(2)

关系对=#S#(T)

关系对<# S(T,S

关系对>S #T)T,

(3)

 

a

^

(

)

,

#

a

 

 

 

 >

^

 

 

 

 >

(

 <

=

 <

 

)

 

 

 

,

<

<

<

>

 

#

<

<

<

 

 

=

原文地址:https://www.cnblogs.com/hzxx/p/11997860.html