1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
|
FlowPop(OP_WHILE);
x=flowptr[flowdepth];
FlowPop(OP_BEGIN);
AddInst2(OP_GOTO,flowptr[flowdepth]);
cl->codes[x]=ptr;
break;
case OP_FOR:
if(cl->uservars>=0x07FF || num_globals>=0x07FF) ParseError("Too many user variables\n");
if(cla) x=cl->uservars++|0x2000; else x=num_globals++|0x2800;
AddInst2(OP_FOR,x);
FlowPush(OP_FOR);
peep=++ptr;
break;
case OP_NEXT:
FlowPop(OP_FOR);
AddInst(OP_NEXT);
cl->codes[flowptr[flowdepth]]=ptr;
break;
case OP_STRING:
AddInst2(OP_STRING,pool_string(tokenstr));
break;
default:
if(Tokenf(TF_ABNORMAL)) ParseError("Invalid instruction token\n");
if(compat && Tokenf(TF_COMPAT) && Tokenf(TF_EQUAL)) ++tokenv;
|
|
|
|
|
|
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
|
FlowPop(OP_WHILE);
x=flowptr[flowdepth];
FlowPop(OP_BEGIN);
AddInst2(OP_GOTO,flowptr[flowdepth]);
cl->codes[x]=ptr;
break;
case OP_FOR:
if(num_globals>=0x07FF) ParseError("Too many user variables\n");
x=num_globals++;
AddInst2(OP_FOR,x);
FlowPush(OP_FOR);
peep=++ptr;
break;
case OP_NEXT:
FlowPop(OP_FOR);
AddInst2(OP_NEXT,flowptr[flowdepth]);
cl->codes[flowptr[flowdepth]]=peep=ptr;
break;
case OP_STRING:
AddInst2(OP_STRING,pool_string(tokenstr));
break;
default:
if(Tokenf(TF_ABNORMAL)) ParseError("Invalid instruction token\n");
if(compat && Tokenf(TF_COMPAT) && Tokenf(TF_EQUAL)) ++tokenv;
|