Prevent incomplete rule parsing

Let’s say I have a grammar like this:

@top Program { Expression+ }

Expression { A B }

@skip { space }

@tokens {
  A { "a" }
  B { "b" }
  space { @whitespace+ }

And I parse the input B

The parser will return an Expression, even though it is incomplete. For the parser I am working on this is fine in some cases, and breaking in others.

Is there a way to control this behaviour?

I believe this is what you are looking for.