This commit is contained in:
blueloveTH 2022-11-14 17:25:05 +08:00
parent 20b608fe7e
commit 1b0f29781c
2 changed files with 10 additions and 2 deletions

View File

@ -757,12 +757,13 @@ __LISTCOMP:
consumeEndStatement();
} else if(match(TK("label"))){
if(mode() != EXEC_MODE) syntaxError("'label' is only available in EXEC_MODE");
consume(TK("@id"));
consume(TK(".")); consume(TK("@id"));
getCode()->addLabel(parser->previous.str());
consumeEndStatement();
} else if(match(TK("goto"))){
// https://entrian.com/goto/
if(mode() != EXEC_MODE) syntaxError("'goto' is only available in EXEC_MODE");
consume(TK("@id"));
consume(TK(".")); consume(TK("@id"));
emitCode(OP_LOAD_CONST, getCode()->addConst(vm->PyStr(parser->previous.str())));
emitCode(OP_GOTO);
consumeEndStatement();

7
tests/4.py Normal file
View File

@ -0,0 +1,7 @@
for i in range(100):
for j in range(100):
print(i, j)
goto .end
label .end
print("END")