py/lexer: Raise NotImplError for unicode name escape, instead of assert.
This commit is contained in:
parent
a7ffa972f3
commit
081f9325f5
@ -29,6 +29,7 @@
|
||||
|
||||
#include "py/mpstate.h"
|
||||
#include "py/lexer.h"
|
||||
#include "py/runtime.h"
|
||||
|
||||
#define TAB_SIZE (8)
|
||||
|
||||
@ -466,7 +467,7 @@ STATIC void mp_lexer_next_token_into(mp_lexer_t *lex, bool first_token) {
|
||||
// 3MB of text; even gzip-compressed and with minimal structure, it'll take
|
||||
// roughly half a meg of storage. This form of Unicode escape may be added
|
||||
// later on, but it's definitely not a priority right now. -- CJA 20140607
|
||||
assert(!"Unicode name escapes not supported");
|
||||
mp_not_implemented("unicode name escapes");
|
||||
break;
|
||||
default:
|
||||
if (c >= '0' && c <= '7') {
|
||||
|
@ -1,5 +1,14 @@
|
||||
# lexer tests for things that are not implemented, or have non-compliant behaviour
|
||||
|
||||
def test(code):
|
||||
try:
|
||||
exec(code)
|
||||
print('no Error')
|
||||
except SyntaxError:
|
||||
print('SyntaxError')
|
||||
except NotImplementedError:
|
||||
print('NotImplementedError')
|
||||
|
||||
# uPy requires spaces between literal numbers and keywords, CPy doesn't
|
||||
try:
|
||||
eval('1and 0')
|
||||
@ -17,3 +26,6 @@ try:
|
||||
eval('1if 0else 0')
|
||||
except SyntaxError:
|
||||
print('SyntaxError')
|
||||
|
||||
# unicode name escapes are not implemented
|
||||
test('"\\N{LATIN SMALL LETTER A}"')
|
||||
|
@ -2,3 +2,4 @@ SyntaxError
|
||||
SyntaxError
|
||||
SyntaxError
|
||||
SyntaxError
|
||||
NotImplementedError
|
||||
|
Loading…
Reference in New Issue
Block a user