Home | History | Annotate | Download | only in regexp

Lines Matching defs:NEXT

72  * plus a "next" pointer, possibly plus an operand.  "Next" pointers of
73 * all nodes except BRANCH implement concatenation; a "next" pointer with
91 #define BRANCH 6 /* node Match this alternative, or the next... */
92 #define BACK 7 /* no Match "", "next" ptr points backward. */
107 * together with their "next" pointers, since precedence prevents
109 * "next" pointer of the last BRANCH in a choice points to the
111 * final "next" pointer of each individual branch points; each
114 * BACK Normal "next" pointers all implicitly point forward; BACK
126 * A node is one char of opcode followed by two chars of "next" pointer.
127 * "Next" pointers are stored as two 8-bit pieces, high order first. The
132 * Using two bytes for the "next" pointer is vast overkill for most things,
136 #define NEXT(p) (((*((p)+1)&0377)<<8) + (*((p)+2)&0377))
420 char *next;
450 next = regnode(BRANCH); /* Either */
451 regtail(ret, next);
453 regtail(next, regnode(BRANCH)); /* or */
459 next = regnode(NOTHING); /* null. */
460 regtail(ret, next);
461 regoptail(ret, next);
580 * examine the next char. If it's *+? then we twiddle.
600 switch (*regparse) { /* look at next one */
669 *ptr++ = '\0'; /* Null "next" pointer. */
721 - regtail - set the next-pointer at the end of a node chain
904 char *next; /* Next node. */
916 next = regnext(scan);
992 if (regmatch(next)) {
1019 if (regmatch(next)) {
1034 if (OP(next) != BRANCH) /* No choice. */
1035 next = OPERAND(scan); /* Avoid recursion. */
1058 * when we know what character comes next.
1061 if (OP(next) == EXACTLY)
1062 nextch = *OPERAND(next);
1069 if (regmatch(next))
1084 scan = next;
1142 - regnext - dig the "next" pointer out of a node
1153 offset = NEXT(p);
1174 char *next;
1181 next = regnext(s);
1182 if (next == NULL) /* Next ptr. */
1185 printf("(%td)", (s-r->program)+(next-s));