RX0185

Domain: Parsing

Error message

the parser stopped on a statement without a verdict: %s

In the message, %s marks a value that the engine fills in when it raises the error.

The story

This message is the engine admitting its own fault. Here is what happened. The parser stopped in the middle of reading your script, but it did not record a reason. In the past, that was a disaster of a particular kind. The driver took the truncated parse for a finished program, ran nothing, printed nothing, and exited with zero. A script that never ran, reporting success. Now, every early stop of the parse leaves through one single place, the statement loop. And if something stops without a verdict, that place turns the silence into this refusal, at the line where the parser stopped. So the engine can no longer stop quietly, whether it stops before the first statement or halfway through the file. The important thing for you: if you see this, it is not your script's fault. It is an engine defect. Report it, with the line from the message, so the missing reason can be added. A loud confession is far better than a silent success.

Text from the Rush engine's error catalogue.