Lezer Error Message Syntax

I am new to Lezer and trying to write my first grammar. Is there documentation somewhere that explains error messages?

For example I get this error message:

shift/reduce conflict between
SeanWhitespace+ → · SeanWhitespace
and
Subfactor+ → Subfactor
With input:
Subfactor · SeanWhitespace …

But I don’t know what “·”, “->” or “…” means. Is there a resource out there that I’m missing? Thanks.

These refer to LR parser terminology, which is unfortunately a bit obscure, because the grammar is compiled to state machine that can be a bit removed from it, and the errors occur in terms of that machine.

The indicates a grammar rule (SeantWhitespace+ can be a single SeanWhitespace), and the dots indicate a parse position within that rule (right at the start, for the first one, and after matching a Subfactor for the input example).

What the error means is that, after matching a Subfactor that is followed by SeanWhitespace, the grammar has an ambiguity between entering a SeanWhitespace+ expression or finishing the Subfactor+ expression. Most likely there is another rule that allows SeanWhitespace+ to occur after Subfactor+, but a Subfactor can also start with SeanWhitespace somehow.

Thank you so much for the response.