首页 > 其他 > 详细

12.11算符优先分析

时间:2019-12-11 12:20:39      阅读:50      评论:0      收藏:0      [点我收藏+]

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算符优先分析

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!