Loading the code workspace…
Extend your lexer with comprehensive error handling and reporting.
Create an error reporting system:
LexerError struct with message, line, columnHandle these error cases:
/* */123abc patternsImplement error tokens:
TOKEN_ERROR with descriptive messageAdd functions:
lexer_get_errors(): Return array of collected errorslexer_has_errors(): Check if any errors occurredlexer_error_count(): Return number of errorsClang became the preferred C++ compiler largely on the strength of its diagnostics, and that quality starts in the lexer: unterminated strings and stray bytes must be reported with exact positions instead of crashing. Production tools like ESLint and rust-analyzer must keep lexing after an error so one typo does not blank out all feedback in your editor.
Sample case for Run. Submit grades this sample plus all hidden tests.