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

py/lexer: Raise NotImplError for unicode name escape, instead of assert.

parent a7ffa972
No related branches found
No related tags found
No related merge requests found
......@@ -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') {
......
# 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment