首先构造该文法G′的识别活前缀的DFA如图7.9。
图 7.9 识别文法G′活前缀的DFA
  也可先构造该文法G′的LR(0)项目集规范族如表7.5。
表 7.5 G′的LR(0)项目集族
状态 核集合 闭包增加项目 项目集
I0 S′→·S. S→·rD.. S′→·S..
S→·rD...
I1 S′→S·. S′→S·..
I2 S→r·D.. D→·D,i
D→·i...
S→r·D...
D→·D,i.
D→·i....
I3 S→rD·..
D→D·,i
S→rD·...
D→D·,i.
I4 D→i·... D→i·....
I5 D→D,·i D→D,·i.
I6 D→D,i· D→D,i·.
然后再用GO函数构造图 7.9 识别文法G′活前缀的DFA。
  分析每个状态包含的项目集,不难发现在状态I3中含项目:
  S→rD· 为归约项目
  D→D·,i 为移进项目
  也就是按S→rD·项目的动作认为用S→rD产生式进行归约的句柄已形成,不管当前的输入符号是什么,都应把rD归约成S。但是按D→D·,i项目当面临输入符为','号时,应将','号移入符号栈,状态转向I5。显然该文法不是LR(0)文法,也可在构造它的LR(0)分析表时发现这个问题,如表7.6所示。
表7.6 实数说明文法的LR(0)分析表
状态 ACTION GOTO
r i # S D
0
1
2
3
4
5
6
S2
.
.
r1
r3
.
r2
.
.
.
r1, S5
r3
.
r2
.
.
S4
r1
r3
S6
r2
.
acc
.
r1
r3
.
r2
1 .
.
3