1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
|
nest0[depth]=nest[depth]=ptr;
cl->codes[ptr++]=tokenv;
cl->codes[ptr++]=0;
depth++;
break;
case OP_ELSE:
if(!depth) ParseError("Premature end of subpattern\n");
cl->codes[nest[depth-1]+1]=ptr;
cl->codes[ptr++]=OP_ELSE;
cl->codes[ptr++]=cl->codes[nest[depth-1]];
cl->codes[nest[depth-1]]=OP_IF;
cl->codes[ptr++]=0;
break;
case OP_THEN:
if(!depth) ParseError("Premature end of subpattern\n");
cl->codes[nest[--depth]+1]=ptr;
cl->codes[ptr++]=OP_THEN;
break;
case OP_AGAIN:
|
|
>
|
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
|
nest0[depth]=nest[depth]=ptr;
cl->codes[ptr++]=tokenv;
cl->codes[ptr++]=0;
depth++;
break;
case OP_ELSE:
if(!depth) ParseError("Premature end of subpattern\n");
cl->codes[nest[depth-1]+1]=ptr+1;
cl->codes[ptr++]=OP_ELSE;
cl->codes[ptr++]=cl->codes[nest[depth-1]];
cl->codes[nest[depth-1]]=OP_IF;
cl->codes[ptr++]=0;
nest[depth-1]=ptr-2;
break;
case OP_THEN:
if(!depth) ParseError("Premature end of subpattern\n");
cl->codes[nest[--depth]+1]=ptr;
cl->codes[ptr++]=OP_THEN;
break;
case OP_AGAIN:
|