diff --git a/CHANGELOG.md b/CHANGELOG.md index 3140ab6..e33d022 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ to str) (does not change anything to public API) * Optimised asserts a little bit * Fixed bug where identifiers after `$` could start with digits +* Better error messages #### Build scripts * Build scripts now copy `CHANGELOG.md`. diff --git a/src/lexer/lexer.py b/src/lexer/lexer.py index d34f414..33ace56 100644 --- a/src/lexer/lexer.py +++ b/src/lexer/lexer.py @@ -861,10 +861,13 @@ def make_less_than(self): self.advance() token_type = TT["LTEQ"] else: + current_char_user_friendly = f"'{new_char}'" + if new_char is None: + current_char_user_friendly = "(end of file)" return None, InvalidSyntaxError( pos_start, self.pos, - f"expected '=' after '<<', got '{self.current_char}'.", + f"expected '=' after '<<', got {current_char_user_friendly}.", "src.lexer.lexer.Lexer.make_less_than" ) elif self.current_char == "d" and self.next_char(7) == "efault>": #