Lines Matching defs:fastmap

706 /* Print the fastmap in human-readable form.  */
709 print_fastmap (fastmap)
710 char *fastmap;
717 if (fastmap[i++])
721 while (i < (1 << BYTEWIDTH) && fastmap[i])
980 if (bufp->fastmap_accurate && bufp->fastmap)
982 printf ("fastmap: ");
983 print_fastmap (bufp->fastmap);
1862 The `fastmap' and `newline_anchor' fields are neither
3177 /* re_compile_fastmap computes a ``fastmap'' for the compiled pattern in
3178 BUFP. A fastmap records which of the (1 << BYTEWIDTH) possible
3179 characters can start a string that matches the pattern. This fastmap
3183 area as BUFP->fastmap.
3185 We set the `fastmap', `fastmap_accurate', and `can_be_null' fields in
3204 register char *fastmap = bufp->fastmap;
3223 /* If all elements for base leading-codes in fastmap is set, this
3230 assert (fastmap != NULL && p != NULL);
3233 bzero (fastmap, 1 << BYTEWIDTH); /* Assume nothing's valid. */
3263 /* I guess the idea here is to simply not bother with a fastmap
3265 the fastmap for the corresponding group. Setting
3266 `can_be_null' stops `re_search_2' from using the fastmap, so
3277 fastmap[p[1]] = 1;
3285 fastmap[j] = 1;
3292 fastmap[j] = 1;
3296 fastmap[j] = 1;
3303 fastmap[j] = 1;
3310 fastmap[j] = 1;
3317 fastmap[j] = 1;
3322 /* Set fastmap[I] 1 where I is a base leading code of each
3337 fastmap[CHARSET_LEADING_CODE_BASE (j)] = 1;
3351 fastmap[j] = 1;
3356 fastmap[j] = 1;
3367 fastmap[j] = 1;
3380 fastmap[j] = 1;
3395 fastmap[j] = 1;
3406 int fastmap_newline = fastmap['\n'];
3410 conceivable byte value for the fastmap. */
3416 fastmap[j] = 1;
3420 fastmap['\n'] = fastmap_newline;
3423 then the fastmap is irrelevant. Something's wrong here. */
3447 fastmap[j] = 1;
3460 fastmap[j] = 1;
3475 fastmap[j] = 1;
3489 fastmap[j] = 1;
3565 fastmap entries beyond `pend'. Such a pattern can match
3729 register char *fastmap = bufp->fastmap;
3771 /* Update the fastmap now if not correct already. */
3772 if (fastmap && !bufp->fastmap_accurate)
3806 /* If a fastmap is supplied, skip quickly over characters that
3810 if (fastmap && startpos < total_size && !bufp->can_be_null)
3839 || fastmap[buf_ch])
3847 && !fastmap[(unsigned char)
3855 while (range > lim && !fastmap[(unsigned char) *d])
3874 || fastmap[buf_ch]))
3880 if (range >= 0 && startpos == total_size && fastmap
6125 re_comp_buf.fastmap = (char *) malloc (1 << BYTEWIDTH);
6126 if (re_comp_buf.fastmap == NULL)
6176 `fastmap' and `fastmap_accurate' to zero;
6215 /* Don't bother to use a fastmap when searching. This simplifies the
6216 REG_NEWLINE case: if we used a fastmap, we'd have to put all the
6217 characters after newlines into the fastmap. This way, we just try
6219 preg->fastmap = 0;
6392 if (preg->fastmap != NULL)
6393 free (preg->fastmap);
6394 preg->fastmap = NULL;