I can define a custom error handler for ParserGenerator with the ParserGenerator.error decorator, but if there's a lexing error I have to live with the default Python exception handling behaviour.
Looking at the code I see the else clause in LexerStream.next just throws a useless SourcePosition with both lineno and colno set to -1, so even if I were to try and catch the LexingError I wouldn't get any useful information.
I can define a custom error handler for ParserGenerator with the ParserGenerator.error decorator, but if there's a lexing error I have to live with the default Python exception handling behaviour.
Looking at the code I see the else clause in LexerStream.next just throws a useless SourcePosition with both lineno and colno set to -1, so even if I were to try and catch the LexingError I wouldn't get any useful information.