Home | History | Annotate | Download | only in dist

Lines Matching refs:ecode

496    ecode       pointer to current position in compiled code
513 match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode,
543 frame->Xecode = ecode;
556 #define ecode frame->Xecode
662 recursion. The second argument (ecode) being NULL triggers this behaviour. It
666 if (ecode == NULL)
752 op = *ecode;
757 md->nomatch_mark = ecode + 2;
759 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode] + ecode[1], offset_top, md,
762 md->mark == NULL) md->mark = ecode + 2;
772 STRCMP_UC_UC_TEST(ecode + 2, md->start_match_ptr) == 0)
783 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
789 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
795 md->nomatch_mark = ecode + 2;
797 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode] + ecode[1], offset_top, md,
800 md->mark == NULL) md->mark = ecode + 2;
805 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
823 ecode += PRIV(OP_lengths)[*ecode] + ecode[1];
826 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode] + ecode[1], offset_top, md,
835 md->start_match_ptr = ecode + 2;
843 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
846 md->start_match_ptr = ecode;
850 md->nomatch_mark = ecode + 2;
852 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode] + ecode[1], offset_top,
855 md->mark == NULL) md->mark = ecode + 2;
857 md->start_match_ptr = ecode;
874 prev = ecode;
879 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, eptrb, RM64);
887 next = ecode + GET(ecode,1);
889 (*ecode == OP_ALT || *next == OP_ALT))
894 ecode += GET(ecode,1);
897 while (*ecode == OP_ALT);
901 if (*ecode != OP_ONCE_NC && *ecode != OP_ALT) RRETURN(MATCH_NOMATCH);
906 do ecode += GET(ecode, 1); while (*ecode == OP_ALT);
916 if (*ecode == OP_KET || eptr == saved_eptr)
918 ecode += 1+LINK_SIZE;
926 if (*ecode == OP_KETRMIN)
928 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, eptrb, RM65);
930 ecode = prev;
937 ecode += 1 + LINK_SIZE;
958 number = GET2(ecode, 1+LINK_SIZE);
983 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
1000 next = ecode + GET(ecode,1);
1002 (*ecode == OP_ALT || *next == OP_ALT))
1010 ecode += GET(ecode, 1);
1012 if (*ecode != OP_ALT) break;
1070 else if (!md->hasthen && ecode[GET(ecode, 1)] != OP_ALT)
1072 ecode += PRIV(OP_lengths)[*ecode];
1080 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md, eptrb,
1088 next = ecode + GET(ecode,1);
1090 (*ecode == OP_ALT || *next == OP_ALT))
1098 const pcre_uchar *scode = ecode;
1108 ecode += GET(ecode, 1);
1110 if (*ecode != OP_ALT) break;
1129 number = GET2(ecode, 1+LINK_SIZE);
1142 code_offset = (int)(ecode - md->start_code);
1165 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
1170 ecode = md->start_code + code_offset;
1176 do ecode += GET(ecode, 1); while (*ecode == OP_ALT);
1188 next = ecode + GET(ecode,1);
1190 (*ecode == OP_ALT || *next == OP_ALT))
1196 ecode += GET(ecode, 1);
1197 if (*ecode != OP_ALT) break;
1209 ecode += 1 + LINK_SIZE;
1238 code_offset = (int)(ecode - md->start_code);
1244 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
1249 ecode = md->start_code + code_offset;
1254 do ecode += GET(ecode, 1); while (*ecode == OP_ALT);
1266 next = ecode + GET(ecode,1);
1268 (*ecode == OP_ALT || *next == OP_ALT))
1273 ecode += GET(ecode, 1);
1274 if (*ecode != OP_ALT) break;
1280 ecode += 1 + LINK_SIZE;
1295 /* The variable codelink will be added to ecode when the condition is
1297 or KET, then incrementing ecode achieves this effect. We now have ecode
1300 codelink = GET(ecode, 1); /* Offset to the second branch */
1301 ecode += 1 + LINK_SIZE; /* From this opcode */
1306 if (*ecode == OP_CALLOUT)
1312 cb.callout_number = ecode[1];
1324 cb.pattern_position = GET(ecode, 2);
1325 cb.next_item_length = GET(ecode, 2 + LINK_SIZE);
1336 /* Advance ecode past the callout, so it now points to the condition. We
1337 must adjust codelink so that the value of ecode+codelink is unchanged. */
1339 ecode += PRIV(OP_lengths)[OP_CALLOUT];
1346 switch(condcode = *ecode)
1351 unsigned int recno = GET2(ecode, 1); /* Recursion group number*/
1359 int count = GET2(ecode, 1 + IMM2_SIZE);
1360 pcre_uchar *slot = md->name_table + GET2(ecode, 1) * md->name_entry_size;
1372 offset = GET2(ecode, 1) << 1; /* Doubled ref number */
1378 int count = GET2(ecode, 1 + IMM2_SIZE);
1379 pcre_uchar *slot = md->name_table + GET2(ecode, 1) * md->name_entry_size;
1399 RMATCH(eptr, ecode, offset_top, md, NULL, RM3);
1406 /* Advance ecode past the assertion to the start of the first branch,
1409 ecode += GET(ecode, 1);
1410 while (*ecode == OP_ALT) ecode += GET(ecode, 1);
1411 ecode += 1 + LINK_SIZE - PRIV(OP_lengths)[condcode];
1427 ecode += condition? PRIV(OP_lengths)[condcode] : codelink;
1439 if (condition || ecode[-(1+LINK_SIZE)] == OP_ALT)
1447 RMATCH(eptr, ecode, offset_top, md, eptrb, RM49);
1463 number = GET2(ecode, 1); /* Must be less than 65536 */
1479 ecode += 1 + IMM2_SIZE;
1538 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, NULL, RM4);
1558 next = ecode + GET(ecode,1);
1560 (*ecode == OP_ALT || *next == OP_ALT))
1571 ecode += GET(ecode, 1);
1573 while (*ecode == OP_ALT); /* Continue for next alternative */
1578 if (*ecode == OP_KET) RRETURN(MATCH_NOMATCH);
1587 do ecode += GET(ecode,1); while (*ecode == OP_ALT);
1588 ecode += 1 + LINK_SIZE;
1609 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, NULL, RM5);
1625 next = ecode + GET(ecode,1);
1627 (*ecode == OP_ALT || *next == OP_ALT))
1643 do ecode += GET(ecode,1); while (*ecode == OP_ALT);
1654 ecode += GET(ecode,1);
1656 while (*ecode == OP_ALT);
1662 ecode += 1 + LINK_SIZE; /* Continue with current branch */
1674 i = GET(ecode, 1);
1688 eptr -= GET(ecode, 1);
1695 ecode += 1 + LINK_SIZE;
1707 cb.callout_number = ecode[1];
1719 cb.pattern_position = GET(ecode, 2);
1720 cb.next_item_length = GET(ecode, 2 + LINK_SIZE);
1730 ecode += 2 + 2*LINK_SIZE;
1755 callpat = md->start_code + GET(ecode, 1);
1777 ecode += 1 + LINK_SIZE;
1860 do ecode += GET(ecode,1); while (*ecode == OP_ALT);
1870 next = ecode + 1;
1874 ecode = next + 1 + LINK_SIZE;
1878 next = ecode + 1;
1882 ecode++;
1886 next = ecode+1;
1888 ecode = next + 1 + LINK_SIZE;
1895 op = *(++ecode);
1906 prev = ecode - GET(ecode, 1);
1997 if (*ecode == OP_KETRPOS)
2014 if (*ecode == OP_KET || eptr == saved_eptr)
2018 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, eptrb, RM12);
2023 ecode += 1 + LINK_SIZE; /* Carry on at this level */
2033 if (*ecode == OP_KETRMIN)
2035 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, eptrb, RM7);
2049 ecode = prev;
2059 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, eptrb, RM9);
2064 ecode += 1 + LINK_SIZE;
2078 ecode++;
2088 ecode++;
2095 ecode++;
2102 ecode++;
2130 ecode++;
2147 ecode++;
2172 ecode++;
2289 if ((*ecode++ == OP_WORD_BOUNDARY)?
2324 ecode++;
2337 ecode++;
2354 ecode++;
2371 ecode++;
2388 ecode++;
2405 ecode++;
2422 ecode++;
2439 ecode++;
2474 ecode++;
2489 ecode++;
2504 ecode++;
2519 ecode++;
2534 ecode++;
2553 switch(ecode[1])
2567 if ((ecode[2] != PRIV(ucp_gentype)[prop->chartype]) == (op == OP_PROP))
2572 if ((ecode[2] != prop->chartype) == (op == OP_PROP))
2577 if ((ecode[2] != prop->script) == (op == OP_PROP))
2617 cp = PRIV(ucd_caseless_sets) + ecode[2];
2640 ecode += 3;
2669 ecode++;
2701 int count = GET2(ecode, 1+IMM2_SIZE);
2702 pcre_uchar *slot = md->name_table + GET2(ecode, 1) * md->name_entry_size;
2703 ecode += 1 + 2*IMM2_SIZE;
2727 offset = GET2(ecode, 1) << 1; /* Doubled ref number */
2728 ecode += 1 + IMM2_SIZE;
2737 switch (*ecode)
2745 c = *ecode++ - OP_CRSTAR;
2754 minimize = (*ecode == OP_CRMINRANGE);
2755 min = GET2(ecode, 1);
2756 max = GET2(ecode, 1 + IMM2_SIZE);
2758 ecode += 1 + 2 * IMM2_SIZE;
2809 RMATCH(eptr, ecode, offset_top, md, eptrb, RM14);
2849 RMATCH(eptr, ecode, offset_top, md, eptrb, RM15);
2874 data = ecode + 1; /* Save for matching */
2875 ecode += 1 + (32 / sizeof(pcre_uchar)); /* Advance past the item */
2877 switch (*ecode)
2888 c = *ecode++ - OP_CRSTAR;
2899 minimize = (*ecode == OP_CRMINRANGE);
2900 possessive = (*ecode == OP_CRPOSRANGE);
2901 min = GET2(ecode, 1);
2902 max = GET2(ecode, 1 + IMM2_SIZE);
2904 ecode += 1 + 2 * IMM2_SIZE;
2971 RMATCH(eptr, ecode, offset_top, md, eptrb, RM16);
2994 RMATCH(eptr, ecode
3047 RMATCH(eptr, ecode, offset_top, md, eptrb, RM18);
3080 RMATCH(eptr, ecode, offset_top, md, eptrb, RM19);
3101 data = ecode + 1 + LINK_SIZE; /* Save for matching */
3102 ecode += GET(ecode, 1); /* Advance past the item */
3104 switch (*ecode)
3115 c = *ecode++ - OP_CRSTAR;
3126 minimize = (*ecode == OP_CRMINRANGE);
3127 possessive = (*ecode == OP_CRPOSRANGE);
3128 min = GET2(ecode, 1);
3129 max = GET2(ecode, 1 + IMM2_SIZE);
3131 ecode += 1 + 2 * IMM2_SIZE;
3164 RMATCH(eptr, ecode, offset_top, md, eptrb, RM20);
3204 RMATCH(eptr, ecode, offset_top, md, eptrb, RM21);
3225 ecode++;
3226 GETCHARLEN(fc, ecode, length);
3232 while (length-- > 0) if (*ecode++ != UCHAR21INC(eptr)) RRETURN(MATCH_NOMATCH);
3243 if (ecode[1] != *eptr++) RRETURN(MATCH_NOMATCH);
3244 ecode += 2;
3262 ecode++;
3263 GETCHARLEN(fc, ecode, length);
3274 ecode++;
3286 ecode += length;
3305 if (TABLE_GET(ecode[1], md->lcc, ecode[1])
3308 ecode += 2;
3316 min = max = GET2(ecode, 1);
3317 ecode += 1 + IMM2_SIZE;
3330 max = GET2(ecode, 1);
3331 minimize = *ecode == OP_MINUPTO || *ecode == OP_MINUPTOI;
3332 ecode += 1 + IMM2_SIZE;
3340 ecode++;
3348 ecode++;
3356 ecode++;
3371 c = *ecode++ - ((op < OP_STARI)? OP_STAR : OP_STARI);
3399 charptr = ecode;
3400 GETCHARLEN(fc, ecode, length);
3401 ecode += length;
3438 RMATCH(eptr, ecode, offset_top, md, eptrb, RM22);
3480 RMATCH(eptr, ecode, offset_top, md, eptrb, RM23);
3500 fc = *ecode++;
3551 RMATCH(eptr, ecode, offset_top, md, eptrb, RM24);
3584 RMATCH(eptr, ecode, offset_top, md, eptrb, RM25);
3612 RMATCH(eptr, ecode, offset_top, md, eptrb, RM26);
3641 RMATCH(eptr, ecode, offset_top, md, eptrb, RM27);
3665 ecode++;
3666 GETCHARINC(ch, ecode);
3690 register pcre_uint32 ch = ecode[1];
3694 ecode += 2;
3707 min = max = GET2(ecode, 1);
3708 ecode += 1 + IMM2_SIZE;
3716 max = GET2(ecode, 1);
3717 minimize = *ecode == OP_NOTMINUPTO || *ecode == OP_NOTMINUPTOI;
3718 ecode += 1 + IMM2_SIZE;
3726 ecode++;
3734 ecode++;
3742 ecode++;
3749 max = GET2(ecode, 1);
3750 ecode += 1 + IMM2_SIZE;
3765 c = *ecode++ - ((op >= OP_NOTSTARI)? OP_NOTSTARI: OP_NOTSTAR);
3774 GETCHARINCTEST(fc, ecode);
3842 RMATCH(eptr, ecode, offset_top, md, eptrb, RM28);
3860 RMATCH(eptr, ecode, offset_top, md, eptrb, RM29);
3901 RMATCH(eptr, ecode, offset_top, md, eptrb, RM30);
3925 RMATCH(eptr, ecode, offset_top, md, eptrb, RM31);
3978 RMATCH(eptr, ecode, offset_top, md, eptrb, RM32);
3996 RMATCH(eptr, ecode, offset_top, md, eptrb, RM33);
4036 RMATCH(eptr, ecode, offset_top, md, eptrb, RM34);
4060 RMATCH(eptr, ecode, offset_top, md, eptrb, RM35);
4075 min = max = GET2(ecode, 1);
4077 ecode += 1 + IMM2_SIZE;
4083 max = GET2(ecode, 1);
4084 minimize = *ecode == OP_TYPEMINUPTO;
4085 ecode += 1 + IMM2_SIZE;
4092 ecode++;
4099 ecode++;
4106 ecode++;
4112 max = GET2(ecode, 1);
4113 ecode += 1 + IMM2_SIZE;
4122 c = *ecode++ - OP_TYPESTAR;
4133 ctype = *ecode++; /* Code for the character type */
4139 prop_type = *ecode++;
4140 prop_value = *ecode++;
4888 RMATCH(eptr, ecode, offset_top, md, eptrb, RM36);
4905 RMATCH(eptr, ecode, offset_top, md, eptrb, RM37);
4925 RMATCH(eptr, ecode, offset_top, md, eptrb, RM38);
4942 RMATCH(eptr, ecode, offset_top, md, eptrb, RM39);
4959 RMATCH(eptr, ecode, offset_top, md, eptrb, RM40);
4977 RMATCH(eptr, ecode, offset_top, md, eptrb, RM59);
5000 RMATCH(eptr, ecode, offset_top, md, eptrb, RM61);
5028 RMATCH(eptr, ecode, offset_top, md, eptrb, RM62);
5050 RMATCH(eptr, ecode, offset_top, md, eptrb, RM67);
5073 RMATCH(eptr, ecode, offset_top, md, eptrb, RM60);
5102 RMATCH(eptr, ecode, offset_top, md, eptrb, RM41);
5136 RMATCH(eptr, ecode, offset_top, md, eptrb, RM42);
5261 RMATCH(eptr, ecode, offset_top, md, eptrb, RM43);
5607 RMATCH(eptr, ecode, offset_top, md, eptrb, RM44);
5654 RMATCH(eptr, ecode, offset_top, md, eptrb, RM45);
5922 RMATCH(eptr, ecode, offset_top, md, eptrb, RM46);
6166 RMATCH(eptr, ecode, offset_top, md, eptrb, RM47);
6181 DPRINTF(("Unknown opcode %d\n", *ecode));
6237 #undef ecode