Lines Matching refs:pos
148 static void doinsert(struct parse *p, sop op, size_t opnd, sopno pos);
149 static void dofwd(struct parse *p, sopno pos, sop value);
191 #define INSERT(op, pos) doinsert(p, (sop)(op), HERE()-(pos)+1, pos)
192 #define AHEAD(pos) dofwd(p, pos, HERE()-(pos))
193 #define ASTERN(sop, pos) EMIT(sop, HERE()-pos)
392 sopno pos;
409 pos = HERE();
578 INSERT(OPLUS_, pos);
579 ASTERN(O_PLUS, pos);
580 INSERT(OQUEST_, pos);
581 ASTERN(O_QUEST, pos);
584 INSERT(OPLUS_, pos);
585 ASTERN(O_PLUS, pos);
589 INSERT(OCH_, pos); /* offset slightly wrong */
590 ASTERN(OOR1, pos); /* this one's right */
591 AHEAD(pos); /* fix the OCH_ */
606 repeat(p, pos, count, count2);
829 sopno pos;
836 pos = HERE(); /* repetition op, if any, covers from here */
961 INSERT(OPLUS_, pos);
962 ASTERN(O_PLUS, pos);
963 INSERT(OQUEST_, pos);
964 ASTERN(O_QUEST, pos);
967 INSERT(OQUEST_, pos);
968 ASTERN(O_QUEST, pos);
970 INSERT(OPLUS_, pos);
971 ASTERN(O_PLUS, pos);
983 repeat(p, pos, count, count2);
1762 == static void doinsert(struct parse *p, sop op, size_t opnd, sopno pos);
1765 doinsert(struct parse *p, sop op, size_t opnd, sopno pos)
1781 assert(pos > 0);
1783 if (p->pbegin[i] >= pos) {
1786 if (p->pend[i] >= pos) {
1791 memmove((char *)&p->strip[pos+1], (char *)&p->strip[pos],
1792 (HERE()-pos-1)*sizeof(sop));
1793 p->strip[pos] = s;
1798 == static void dofwd(struct parse *p, sopno pos, sop value);
1801 dofwd(struct parse *p, sopno pos, sop value)
1808 p->strip[pos] = OP(p->strip[pos]) | value;