编译原理(第三版)第6章课后练习及参考答案中石大版.pdfVIP

  • 5
  • 0
  • 约4.23千字
  • 约 4页
  • 2024-01-12 发布于山东
  • 举报

编译原理(第三版)第6章课后练习及参考答案中石大版.pdf

第6章练习P

122

作业布置:P1

122

1、已知文法G[S]:Sa|^|(T)

TT,S|S

(1)计算G[S]的FIRSTVT和LASTVT。

(2)构造G[S]的算符优先关系表并说明G[S]是否为算符优先

文法。

(3)计算G[S]的优先函数。

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

解:

(1)

FIRSTVTLASTVT

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

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

(2)

由#S#得,#FIRSTVT(S),LASTVT(S)#。

由S(T),得##,()。

找形如A…aB…的产生式,列出形如…aB…符号对的关系

(T则有(FIRSTVT(T)

,S则有,FIRSTVT(S)

找形如A…Bb…的产生式,列出形如…Bb…的符号对的关系

第1页共4页

T)则有LASTVT(T))

T,则有LASTVT(T),

a^(),#

a

^

(

)

,

#

从表中可见G[S]的任意两个终结符之间至多有一种优先关系成

立,所以G是一个算符优先文法。

(3)依据优先函数的定义直接构造优先函数关系表

步骤1:置初值为1

a^(),#

f111111

g111111

步骤2:对第一步结果进行迭代,逐行扫描,依次执行算法的三

种情况

a^(),#

f221331

g222121

步骤3:对第2步结果进行迭代,重复执行算法。

第2页共4页

a^(),#

f331331

g444

文档评论(0)

1亿VIP精品文档

相关文档