mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-15 17:02:53 +08:00
find local and global list by order in REF
This commit is contained in:
parent
76dee1039e
commit
3c825972f0
11
src/PikaVM.c
11
src/PikaVM.c
@ -137,7 +137,12 @@ Arg* pikaVM_runInstruct(PikaObj* self,
|
||||
if (strEqu(data, (char*)"False")) {
|
||||
return arg_setInt(NULL, "", 0);
|
||||
}
|
||||
/* find in local list first */
|
||||
Arg* arg = arg_copy(obj_getArg(locals, data));
|
||||
if (NULL == arg) {
|
||||
/* find in global list second */
|
||||
arg = arg_copy(obj_getArg(globals, data));
|
||||
}
|
||||
return arg;
|
||||
}
|
||||
if (instruct == JMP) {
|
||||
@ -418,14 +423,14 @@ Arg* pikaVM_runInstruct(PikaObj* self,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int32_t __clearInvokeQueues(Parameters* globals) {
|
||||
int32_t __clearInvokeQueues(Parameters* locals) {
|
||||
for (char deepthChar = '0'; deepthChar < '9'; deepthChar++) {
|
||||
char deepth[2] = {0};
|
||||
deepth[0] = deepthChar;
|
||||
Queue* queue = (Queue*)args_getPtr(globals->attributeList, deepth);
|
||||
Queue* queue = (Queue*)args_getPtr(locals->attributeList, deepth);
|
||||
if (NULL != queue) {
|
||||
args_deinit(queue);
|
||||
args_removeArg(globals->attributeList, deepth);
|
||||
args_removeArg(locals->attributeList, deepth);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
@ -5,18 +5,18 @@
|
||||
Parameters* pikaVM_run(PikaObj* self, char* pyLine);
|
||||
Parameters* pikaVM_runAsm(PikaObj* self, char* pikaAsm);
|
||||
Parameters* pikaVM_runAsmWithPars(PikaObj* self,
|
||||
Parameters* globals,
|
||||
Parameters* locals,
|
||||
Parameters* globals,
|
||||
char* pikaAsm);
|
||||
|
||||
int32_t __clearInvokeQueues(Parameters* globals);
|
||||
int32_t __clearInvokeQueues(Parameters* locals);
|
||||
char* useFlashAsBuff(char* pikaAsm, Args* buffs);
|
||||
int32_t gotoNextLine(char* code);
|
||||
int32_t gotoLastLine(char* start, char* code);
|
||||
int getThisBlockDeepth(char* start, char* code, int* offset);
|
||||
int32_t pikaVM_runAsmLine(PikaObj* self,
|
||||
Parameters* globals,
|
||||
Parameters* locals,
|
||||
Parameters* globals,
|
||||
char* pikaAsm,
|
||||
int32_t lineAddr);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user