Lines Matching refs:code

41 	{"END",		0, ""},		/* End of code block or program	*/
63 * Commands and operands are all unsigned char (1 byte long). All code offsets
68 * Try to match the code block that follows the BRANCH instruction
69 * (code block ends with END). If no match, try to match code block that
86 * matched buffer, until code block that follows these instructions
126 op = r->code[pc];
132 (void) fprintf(fp, "%d ", r->code[pc + 1]);
137 pc + r->code[pc + 1] - i);
142 r->code[pc + 1], r->code[pc + 2]);
147 for (j = 0; j < r->code[pc + 2]; j++) {
148 ch = r->data[r->code[pc + 1] + j];
174 r->code[pc] = (unsigned char) (r->code_size - offset);
178 emit(struct slre *r, int code)
180 if (r->code_size >= (int) (sizeof(r->code) / sizeof(r->code[0])))
181 r->err_str = "RE is too long (code overflow)";
183 r->code[r->code_size++] = (unsigned char) code;
284 memmove(r->code + begin + shift, r->code + begin, r->code_size - begin);
291 if (r->code[prev] == EXACT && r->code[prev + 2] > 1) {
292 r->code[prev + 2]--;
294 emit(r, r->code[prev + 1] + r->code[prev + 2]);
299 r->code[prev] = op;
399 r->code[branch_start] = BRANCH;
402 r->code[fixup] = 0xff;
427 if (r->code[2] == BRANCH)
449 if (match(r, pc + r->code[pc + 1], s, len, ofs, NULL))
464 if (match(r, pc + r->code[pc + 1], s, len, ofs, NULL))
509 while (res && r->code[pc] != END) {
512 assert(pc < (int) (sizeof(r->code) / sizeof(r->code[0])));
514 switch (r->code[pc]) {
520 res = match(r, pc + r->code[pc + 1],
523 pc += r->code[pc + 2];
527 n = r->code[pc + 2]; /* String length */
529 r->code[pc + 1], n)) {
540 pc += r->code[pc + 1];
545 pc += r->code[pc + 1];
550 pc += r->code[pc + 1];
558 pc += r->code[pc + 1];
566 pc += r->code[pc + 1];
604 res = is_any_of(r->data + r->code[pc + 1],
605 r->code[pc + 2], s, ofs);
611 res = is_any_but(r->data + r->code[pc + 1],
612 r->code[pc + 2], s, ofs);
625 caps[r->code[pc + 1]].ptr = s + *ofs;
630 caps[r->code[pc + 1]].len = (s + *ofs) -
631 caps[r->code[pc + 1]].ptr;
638 printf("unknown cmd (%d) at %d\n", r->code[pc], pc);