首页 > 其他 > 详细

12.11算符优先分析

时间:2019-12-11 12:20:39      阅读:57      评论: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 版权所有
打开技术之扣,分享程序人生!