This language is actually regular (ab*) but the grammar is not LR(k) for any k. (To see why, ask how many epsilon-productions to recognize before shifting the a.)
This should pose no problem to a generalized parse engine, and indeed it works just fine with the LALR and Canonical-LR1 table generators, but for some reason the tables coming out of minimal-LR1 mode are deficient in this particular scenario: The initial state has the shift on a but that action should really be a shift/reduce conflict.
Consider the grammar:
This language is actually regular (
ab*
) but the grammar is not LR(k) for any k. (To see why, ask how many epsilon-productions to recognize before shifting thea
.)This should pose no problem to a generalized parse engine, and indeed it works just fine with the LALR and Canonical-LR1 table generators, but for some reason the tables coming out of minimal-LR1 mode are deficient in this particular scenario: The initial state has the shift on
a
but that action should really be a shift/reduce conflict.