- 5
- 0
- 约4.23千字
- 约 4页
- 2024-01-12 发布于山东
- 举报
第6章练习P
122
作业布置:P1
122
1、已知文法G[S]:Sa|^|(T)
TT,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)