reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
671 pos = HERE(); /* repetition op, if any, covers from here */ 674 c = GETNEXT(); 676 REQUIRE(MORE(), REG_EESCAPE); 676 REQUIRE(MORE(), REG_EESCAPE); 677 c = BACKSL | GETNEXT(); 681 if (p->g->cflags®_NEWLINE) 682 nonnewline(p); 684 EMIT(OANY, 0); 687 p_bracket(p); 690 SETERROR(REG_BADRPT); 693 p->g->nsub++; 694 subno = p->g->nsub; 696 p->pbegin[subno] = HERE(); 696 p->pbegin[subno] = HERE(); 697 EMIT(OLPAREN, subno); 699 if (MORE() && !SEETWO('\\', ')')) 699 if (MORE() && !SEETWO('\\', ')')) 700 p_bre(p, '\\', ')'); 702 p->pend[subno] = HERE(); 702 p->pend[subno] = HERE(); 705 EMIT(ORPAREN, subno); 706 REQUIRE(EATTWO('\\', ')'), REG_EPAREN); 706 REQUIRE(EATTWO('\\', ')'), REG_EPAREN); 710 SETERROR(REG_EPAREN); 723 if (p->pend[i] != 0) { 725 EMIT(OBACK_, i); 729 (void) dupl(p, p->pbegin[i]+1, p->pend[i]); 729 (void) dupl(p, p->pbegin[i]+1, p->pend[i]); 729 (void) dupl(p, p->pbegin[i]+1, p->pend[i]); 730 EMIT(O_BACK, i); 732 SETERROR(REG_ESUBREG); 733 p->g->backrefs = 1; 736 REQUIRE(starordinary, REG_BADRPT); 739 ordinary(p, (char)c); 743 if (EAT('*')) { /* implemented as +? */ 745 INSERT(OPLUS_, pos); 746 ASTERN(O_PLUS, pos); 747 INSERT(OQUEST_, pos); 748 ASTERN(O_QUEST, pos); 749 } else if (EATTWO('\\', '{')) { 750 count = p_count(p); 751 if (EAT(',')) { 752 if (MORE() && isdigit((uch)PEEK())) { 752 if (MORE() && isdigit((uch)PEEK())) { 753 count2 = p_count(p); 754 REQUIRE(count <= count2, REG_BADBR); 759 repeat(p, pos, count, count2); 760 if (!EATTWO('\\', '}')) { /* error heuristics */ 761 while (MORE() && !SEETWO('\\', '}')) 761 while (MORE() && !SEETWO('\\', '}')) 762 NEXT(); 763 REQUIRE(MORE(), REG_EBRACE); 763 REQUIRE(MORE(), REG_EBRACE); 764 SETERROR(REG_BADBR);