码迷,mamicode.com
首页 > 其他好文 > 详细

自下而上语法分析

时间:2019-12-05 01:01:13      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:ext   计算   bsp   pad   enter   width   接受   padding   cin   

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。

2)找三种关系对。

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

S->#S#

S->a|∧|(T)

T->T,S|S

FIRSTVT(S)=( a,∧,( )

FIRSTVT(T)=( ,,a,∧,( )

LASTVT(S)=( a,∧,) )

LASTVT(T)=( ,,a,∧,) )

 

关系对:

=

#S#

(T)

 

#S

(T

,S

 

S#

T)

T,

 

优先关系表

 

a

,

(

)

#

a

 

 

 

 

 

 

,

 

(

=

 

)

 

 

 

#

 

 

=

自下而上语法分析

标签:ext   计算   bsp   pad   enter   width   接受   padding   cin   

原文地址:https://www.cnblogs.com/zhff/p/11986492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!