Skip to content
Snippets Groups Projects
Commit 0be3c70c authored by Damien George's avatar Damien George
Browse files

py/lexer: Raise SyntaxError when unicode char point out of range.

parent 081f9325
No related branches found
No related tags found
No related merge requests found
...@@ -500,7 +500,9 @@ STATIC void mp_lexer_next_token_into(mp_lexer_t *lex, bool first_token) { ...@@ -500,7 +500,9 @@ STATIC void mp_lexer_next_token_into(mp_lexer_t *lex, bool first_token) {
} }
#endif #endif
else { else {
assert(!"TODO: Throw an error, invalid escape code probably"); // unicode character out of range
// this raises a generic SyntaxError; could provide more info
lex->tok_kind = MP_TOKEN_INVALID;
} }
} }
} else { } else {
......
...@@ -20,3 +20,9 @@ print(enc, enc.decode() == s) ...@@ -20,3 +20,9 @@ print(enc, enc.decode() == s)
# printing of unicode chars using repr # printing of unicode chars using repr
# TODO we don't do this correctly # TODO we don't do this correctly
#print(repr(s)) #print(repr(s))
# test invalid escape code
try:
eval('"\\U00110000"')
except SyntaxError:
print('SyntaxError')
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment