Hello,
I am a little confused about the construction of the automaton for LR(0) items.
In case you don't see the picture, I am referring to slides 139 and 141 of the compiler frontend.
Slide 139: In the automaton given here, you can see an epsilon transition:
(S -> b.Sbb) -(e)-> (S -> .bSbb)
However, no epsilon transition is seen for the following state:
(B -> .A)
My question now is why there is no epsilon transition attached here.
Is it not possible that the following transition would be legitimate?:
(B -> .A) -(e)-> (A -> .aB)
If not, does a conflict occur here and why does it occur?
Furthermore, I can't explain the following state of the deterministic automaton (slide 141):
q0 -(a)-> q3
In the state q3 the rule A->.aB can be seen. The only way I can explain this state is:
(Starting at q0): (A -> .aB) -(a)-> (A -> a.B) -(e)-> (B -> .A) -(e)-> (A -> a.B)
Did I understand this wrong?
Best regards