improved error reporting from the lexer