Lines Matching +defs:top +defs:pos
132 #define INSERT(op, pos) doinsert(p, (sop)(op), HERE()-(pos)+1, pos)
133 #define AHEAD(pos) dofwd(p, pos, HERE()-(pos))
134 #define ASTERN(sop, pos) EMIT(sop, HERE()-pos)
254 - p_ere - ERE parser top level, concatenation and alternation
303 sopno pos;
312 pos = HERE();
396 INSERT(OPLUS_, pos);
397 ASTERN(O_PLUS, pos);
398 INSERT(OQUEST_, pos);
399 ASTERN(O_QUEST, pos);
402 INSERT(OPLUS_, pos);
403 ASTERN(O_PLUS, pos);
407 INSERT(OCH_, pos); /* offset slightly wrong */
408 ASTERN(OOR1, pos); /* this one's right */
409 AHEAD(pos); /* fix the OCH_ */
424 repeat(p, pos, count, count2);
455 - p_bre - BRE parser top level, anchoring and concatenation
502 sopno pos;
507 pos = HERE(); /* repetion op, if any, covers from here */
581 INSERT(OPLUS_, pos);
582 ASTERN(O_PLUS, pos);
583 INSERT(OQUEST_, pos);
584 ASTERN(O_QUEST, pos);
595 repeat(p, pos, count, count2);
1092 cset *top = &p->g->sets[p->g->ncsets];
1097 if (cs == top-1) /* recover only the easy case */
1115 cset *top = &p->g->sets[p->g->ncsets];
1120 for (cs2 = &p->g->sets[0]; cs2 < top; cs2++)
1130 if (cs2 < top) { /* found one */
1331 doinsert(struct parse *p, sop op, size_t opnd, sopno pos)
1347 assert(pos > 0);
1349 if (p->pbegin[i] >= pos) {
1352 if (p->pend[i] >= pos) {
1357 memmove((char *)&p->strip[pos+1], (char *)&p->strip[pos],
1358 (HERE()-pos-1)*sizeof(sop));
1359 p->strip[pos] = s;
1366 dofwd(struct parse *p, sopno pos, sop value)
1373 p->strip[pos] = OP(p->strip[pos]) | value;