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

This commit is contained in:
Damien George 2015-09-07 17:19:17 +01:00
parent 081f9325f5
commit 0be3c70cd8
2 changed files with 9 additions and 1 deletions

View File

@ -500,7 +500,9 @@ STATIC void mp_lexer_next_token_into(mp_lexer_t *lex, bool first_token) {
}
#endif
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 {

View File

@ -20,3 +20,9 @@ print(enc, enc.decode() == s)
# printing of unicode chars using repr
# TODO we don't do this correctly
#print(repr(s))
# test invalid escape code
try:
eval('"\\U00110000"')
except SyntaxError:
print('SyntaxError')