mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-02-05 17:28:23 +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, __list_x);
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "\n");
|
pikaAsm = strsAppend(runBuffs, pikaAsm, "\n");
|
||||||
if (1 == obj_getInt(ast, "isRange")) {
|
if (1 == obj_getInt(ast, "isRange")) {
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 REF __range_a1\n");
|
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 REF __range_a1\n"
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 REF __range_a2\n");
|
"0 REF __range_a2\n"
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 REF __range_a3\n");
|
"0 REF __range_a3\n"
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 OUT ");
|
"0 OUT ");
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, __list_x);
|
pikaAsm = strsAppend(runBuffs, pikaAsm, __list_x);
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, ".a1\n");
|
pikaAsm = strsAppend(runBuffs, pikaAsm, ".a1\n"
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 OUT ");
|
"0 OUT ");
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, __list_x);
|
pikaAsm = strsAppend(runBuffs, pikaAsm, __list_x);
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, ".a2\n");
|
pikaAsm = strsAppend(runBuffs, pikaAsm, ".a2\n"
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 OUT ");
|
"0 OUT ");
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, __list_x);
|
pikaAsm = strsAppend(runBuffs, pikaAsm, __list_x);
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, ".a3\n");
|
pikaAsm = strsAppend(runBuffs, pikaAsm, ".a3\n");
|
||||||
}
|
}
|
||||||
@ -1065,15 +1065,14 @@ char* AST_toPikaAsm(AST* ast, Args* buffs) {
|
|||||||
/* run next(__list<x>) */
|
/* run next(__list<x>) */
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 RUN ");
|
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 RUN ");
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, __list_x);
|
pikaAsm = strsAppend(runBuffs, pikaAsm, __list_x);
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, ".__next__\n");
|
pikaAsm = strsAppend(runBuffs, pikaAsm, ".__next__\n"
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 OUT ");
|
"0 OUT ");
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, arg_in);
|
pikaAsm = strsAppend(runBuffs, pikaAsm, arg_in);
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "\n");
|
pikaAsm = strsAppend(runBuffs, pikaAsm, "\n");
|
||||||
/* check item is exist */
|
/* check item is exist */
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 EST ");
|
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 EST ");
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, arg_in);
|
pikaAsm = strsAppend(runBuffs, pikaAsm, arg_in);
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "\n");
|
pikaAsm = strsAppend(runBuffs, pikaAsm, "\n0 JEZ 2\n");
|
||||||
pikaAsm = strsAppend(runBuffs, pikaAsm, "0 JEZ 2\n");
|
|
||||||
is_block_matched = 1;
|
is_block_matched = 1;
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user