例如:我们分析图7.12中的项目集可发现同心集如下: I3: B→a·B,a/b I6: B→a·B,# B→·aB,a/b B→·aB,# B→·b,a/b B→·b,# I4: B→b·,a/b I7: B→b·,# I8: B→aB·,a/b I9: B→aB·,# 即I3和I6,I4和I7,I8和I9分别为同心集,将同心集合并后为: I3,I6: B→a·B,a/b/# B→·aB,a/b/# B→·b,a/b/# I4,I7: B→b·,a/b/# I8,I9: B→aB·,a/b/# 同心集合并后仍不包含冲突,因此该文法满足LALR(1) 要求。 合并同心集有几个问题需要说明。 (1) 同心集是指心相同的项目集合并在一起,因此同心集合并后心仍相同,只是超前搜索符集合为各同心集超前搜索符集合的和集。 |