Open
Description
The ScyllaDB project uses Antlr3 with the C++ runtime.
In scylladb/scylladb#1703 it was noted that ugly error messages are reported. One of the strange error messages is:
line 1:71 extraneous input 'STORAGE' expecting <invalid>
This is ScyllaDB's own (broken in its own way) error message printer, but when I try to use displayRecognitionError() from /usr/include/antlr3exception.inl, it's even worse - only this wrong "Expected" is printed. A snippted from that function:
case UNWANTED_TOKEN_EXCEPTION:
...
str_stream << " : Extraneous input - expected "
<< tokenNames[ BaseType::m_expecting] << " ...\n";
So in UNWANTED_TOKEN_EXCEPTION this function prints, instead of the seen (and unwanted) token, the "expected" token, which isn't available in the case of this exception, which is why it's printed as "<invalid">. What needs to be printed in this case is the seen token, not the expected token.
Metadata
Metadata
Assignees
Labels
No labels