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

12.11算符优先分析

时间:2019-12-11 13:27:19      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:操作   table   表达式   a+b   逆波兰表达式   ast   ali   strong   width   

1. 已知算符优先关系矩阵如下表:

 

+

*

i

(

)

#

+

*

i

 

 

(

=

 

)

 

 

#

 

=

 写出符号串(i+i)*i#的算符优先分析过程。

答:

关系

输入串

操作

#

( i + i ) * I #

移进

#(

i + i ) * I #

移进

#( i

+ i ) * I #

归约

#( N

+ i ) * I #

移进

#( N +

i ) * i #

移进

#( N + i

) * i #

归约

#( N + N

) * i #

归约

#( N

=

) * i #

移进

#( N )

* i #

归约

#N

* i #

移进

#N *

i #

移进

#N * i

#

归约

#N * N

#

归约

#N

 

#

接受

 

2.接上个作业(P121练习1),完成4),5)两个步骤。

1)计算FIRSTVT和 LASTVT。

2)找三种关系对。

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

4)是否算符优先文法?

5)给出输入串(a,(a,a))#的算符优先分析过程。

(4)符合优先文法。

(5)(a,(a,a))

关系

输入串

操作

#

( a , ( a , a ) )#

移进

#(

a , ( a , a ) )#

移进

#( a

, ( a , a ) )#

归约

#( N

, ( a , a ) )#

移进

#( N ,

( a , a ) )#

移进

#( N , (

a , a ) )#

移进

#( N , ( a

, a ) )#

归约

#( N , ( N

, a ) )#

移进

#( N , ( N ,

a ) )#

移进

#( N , ( N , a

) )#

归约

#( N , ( N , N

) )#

归约

#( N , ( N

=

) )#

移进

#( N , ( N )

)#

归约

#( N , N

)#

归约

#( N

=

)#

移进

#( N )

#

归约

#N

 

#

接受

 

 

3.写出a+b*(c-d)+e/(c-d)↑n 的逆波兰表达式,三元式,四元式。

答:

逆波兰表达式:

abcd-*ecd-↑n/++

三元式:

(1)(- , c ,d)

(2)(* , b ,(1))

(3)(,(1), n)

(4)(/ , e ,(3))

(5)(+ , a ,(2))

(6)(+ ,(5),(4))

四元式:

(1)(- , c , d , t1)

(2)(* , b , t1 , t2)

(3)(↑ , t1 , n , t3)

(4)(/ , e , t3 , t4)

(5)(+ , a , t2 , t5)

(6)(+ , t5 , t4)

 

12.11算符优先分析

标签:操作   table   表达式   a+b   逆波兰表达式   ast   ali   strong   width   

原文地址:https://www.cnblogs.com/Azan1999/p/12021583.html

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