mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-29 17:22:56 +08:00
save 1K when parse 'for range'
This commit is contained in:
parent
cbffcb6eec
commit
b778bc2287
@ -1047,16 +1047,16 @@ char* AST_toPikaAsm(AST* ast, Args* buffs) {
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, __list_x);
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "\n");
|
||||
if (1 == obj_getInt(ast, "isRange")) {
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 REF __range_a1\n");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 REF __range_a2\n");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 REF __range_a3\n");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 OUT ");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 REF __range_a1\n"
|
||||
"0 REF __range_a2\n"
|
||||
"0 REF __range_a3\n"
|
||||
"0 OUT ");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, __list_x);
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, ".a1\n");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 OUT ");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, ".a1\n"
|
||||
"0 OUT ");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, __list_x);
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, ".a2\n");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 OUT ");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, ".a2\n"
|
||||
"0 OUT ");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, __list_x);
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, ".a3\n");
|
||||
}
|
||||
@ -1065,15 +1065,14 @@ char* AST_toPikaAsm(AST* ast, Args* buffs) {
|
||||
/* run next(__list<x>) */
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 RUN ");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, __list_x);
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, ".__next__\n");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 OUT ");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, ".__next__\n"
|
||||
"0 OUT ");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, arg_in);
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "\n");
|
||||
/* check item is exist */
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 EST ");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, arg_in);
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "\n");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 JEZ 2\n");
|
||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "\n0 JEZ 2\n");
|
||||
is_block_matched = 1;
|
||||
goto exit;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user