Lines Matching defs:substr
918 * check substr (float) = "DEFG", offset 6..9 chars
919 * other substr (anchored) = "ABC", offset 3..3 chars
954 char *other_last = strpos;/* latest pos 'other' substr already checked to */
955 char *check_at = NULL; /* check substr found at this pos */
969 /* for now, assume that all substr offsets are positive. If at some point
1031 : prog->substrs->data[i].substr);
1081 * start of the regex) substr must also be anchored relative
1082 * to strpos. So quickly reject if substr isn't found there.
1086 * where substr="abcdef", pos()=3, gofs=4, offset_min=1:
1087 * caller will have set strpos=pos()-4; we look for the substr
1096 " Looking for check substr at fixed offset %" IVdf "...\n",
1146 * 2) If it exists, look for the "other" substr too if defined; for
1147 * example, if the check substr maps to the anchored substr, then
1148 * check the floating substr, and vice-versa. If not found, go
1193 * the substr could start. For the ANCH_GPOS case, we assume that
1196 * an upper bound on the substr.
1245 Perl_re_printf( aTHX_ " %s %s substr %s%s%s",
1275 || prog->substrs->data[other_ix].substr)
1285 if (!utf8_target && !other->substr) {
1292 * we've previously found a floating substr starting at check_at.
1297 * So the fixed substr must lie somewhere between
1299 * HOP3(max, anchored_offset) + SvCUR(substr)
1304 * floating substr could start in the string, ignoring any
1311 * substr is float_min_offset(*) on from the start of the
1345 /* last is the latest point where the floating substr could
1375 must = utf8_target ? other->utf8_substr : other->substr;
1410 Perl_re_printf( aTHX_ " %s %s substr %s%s",
1418 /* last1 is latest possible substr location. If we didn't
1426 /* try to find the check substr again at a later
1427 * position. Maybe next time we'll find the "other" substr
1445 * a floating substr to fail first time, then succeed
1495 * scanning ahead for the next \n or the next substr is debatable.
1501 * hasn't got a \n, rather than trying every substr position
1532 /* if we get here, the check substr must have been float,
1534 * "other" substr which still contradicts */
1538 /* whoops, the anchored "other" substr exists, so we still
1539 * contradict. On the other hand, the float "check" substr
1541 * substr */
1552 * (and there's no anchored substr). */
1580 /* latest pos that a matching float substr constrains rx start to */
1597 * and the fixed substr is ''$.
1642 /* not at latest position float substr could match:
1701 " about to look for %s substr starting at offset %ld (rx_origin now %" IVdf ")...\n",
2013 #define REXEC_FBC_FIND_NEXT_UTF8_STRING_SCAN(substr, substr_end, COND) \
2015 ninstr(s, strend, substr, substr_end), \
4136 Perl_re_printf( aTHX_ "Did not find %s substr %s%s...\n",
11353 /* Converts substr fields in prog from bytes to UTF-8, calling fbm_compile
11361 if (prog->substrs->data[i].substr
11363 SV* const sv = newSVsv(prog->substrs->data[i].substr);
11366 if (SvVALID(prog->substrs->data[i].substr)) {
11367 if (SvTAIL(prog->substrs->data[i].substr)) {
11378 if (prog->substrs->data[i].substr == prog->check_substr)
11387 /* Converts substr fields in prog from UTF-8 to bytes, calling fbm_compile
11396 && !prog->substrs->data[i].substr) {
11411 prog->substrs->data[i].substr = sv;