Lines Matching refs:re

157 			e->re.data = (char*)e + sizeof(Rex_t);  in node()
194 drop(disc, e->re.group.expr.binary.left); in drop()
195 drop(disc, e->re.group.expr.binary.right); in drop()
205 drop(disc, e->re.group.expr.rex); in drop()
209 triedrop(disc, e->re.trie.root[i]); in drop()
237 if (e->re.group.expr.binary.left) in mark()
238 mark(e->re.group.expr.binary.left, set); in mark()
239 if (e->re.group.expr.binary.right) in mark()
240 mark(e->re.group.expr.binary.right, set); in mark()
251 mark(e->re.group.expr.rex, set); in mark()
271 if (e->re.group.expr.binary.left) in serialize()
272 n = serialize(env, e->re.group.expr.binary.left, n); in serialize()
273 e->re.group.expr.binary.serial = n++; in serialize()
274 if (e->re.group.expr.binary.right) in serialize()
275 n = serialize(env, e->re.group.expr.binary.right, n); in serialize()
278 n = serialize(env, e->re.group.expr.binary.left, n); in serialize()
279 n = serialize(env, e->re.group.expr.binary.right, n); in serialize()
289 n = serialize(env, e->re.group.expr.rex, n); in serialize()
388 if (stats(env, e->re.group.expr.binary.left)) in stats()
394 if (e->re.group.expr.binary.right && stats(env, e->re.group.expr.binary.right)) in stats()
444 if (stats(env, e->re.group.expr.binary.left)) in stats()
450 if (stats(env, e->re.group.expr.binary.right)) in stats()
469 if (e->re.group.number && ++env->stats.p <= 0 || !e->re.group.number && ++env->stats.u <= 0) in stats()
471 if (stats(env, e->re.group.expr.rex)) in stats()
482 if (stats(env, e->re.group.expr.rex)) in stats()
504 if (e->re.group.size > 0 && ++env->stats.b <= 0) in stats()
506 if (e->re.group.expr.binary.left && stats(env, e->re.group.expr.binary.left)) in stats()
508 if (q = e->re.group.expr.binary.right) in stats()
510 if (q->re.group.expr.binary.left && stats(env, q->re.group.expr.binary.left)) in stats()
512 if (q->re.group.expr.binary.right && stats(env, q->re.group.expr.binary.right)) in stats()
527 if (stats(env, e->re.group.expr.rex)) in stats()
543 if (stats(env, e->re.group.expr.rex)) in stats()
566 if (stats(env, e->re.group.expr.rex)) in stats()
597 if ((env->stats.m += e->re.string.size) < cm) in stats()
600 if ((env->stats.n += e->re.string.size) < cn) in stats()
602 if (!env->stats.x || env->stats.x->re.string.size < e->re.string.size) in stats()
613 if ((env->stats.m += e->re.trie.min) < cm) in stats()
616 if ((env->stats.n += e->re.trie.max) < cn) in stats()
619 if (!env->stats.y || env->stats.y->re.trie.min < e->re.trie.min) in stats()
1235 setadd(e->re.charclass, c); in bra()
1265 setadd(e->re.charclass, last); in bra()
1269 setadd(e->re.charclass, '-'); in bra()
1301 setadd(e->re.charclass, last); in bra()
1340 setadd(e->re.charclass, c); in bra()
1352 setadd(e->re.charclass, last); in bra()
1360 setadd(e->re.charclass, buf[0]); in bra()
1390 setadd(e->re.charclass, i); in bra()
1396 setadd(e->re.charclass, last); in bra()
1397 setadd(e->re.charclass, c); in bra()
1408 setadd(e->re.charclass, last); in bra()
1467 ce = (Celt_t*)e->re.data; in bra()
1468 e->re.collate.invert = neg; in bra()
1469 e->re.collate.elements = ce; in bra()
1699 if (settst(e->re.charclass, i)) in bra()
1707 setadd(e->re.charclass, c); in bra()
1711 for (i = 0; i < elementsof(e->re.charclass->bits); i++) in bra()
1712 e->re.charclass->bits[i] ^= ~0; in bra()
1714 setclr(e->re.charclass, env->explicit); in bra()
1748 setadd(e->re.charclass, i); in ccl()
1750 setclr(e->re.charclass, env->explicit); in ccl()
1756 ce = (Celt_t*)e->re.data; in ccl()
1757 e->re.collate.invert = 0; in ccl()
1758 e->re.collate.elements = ce; in ccl()
1786 f->re.group.expr.rex = e; in rep()
1857 f->re.group.expr.rex = e; in rep()
1858 f->re.group.number = number; in rep()
1859 f->re.group.last = last; in rep()
1864 for (; e && e->type >= REX_GROUP && e->type <= REX_GROUP_CUT; e = e->re.group.expr.rex); in rep()
1909 *(s = tmp) = f->re.onechar; in insert()
1913 s = f->re.string.base; in insert()
1914 e = s + f->re.string.size; in insert()
1919 if (!(t = g->re.trie.root[*s]) && !(t = g->re.trie.root[*s] = trienode(env, *s))) in insert()
1939 if (g->re.trie.min > len) in insert()
1940 g->re.trie.min = len; in insert()
1941 if (g->re.trie.max < len) in insert()
1942 g->re.trie.max = len; in insert()
1964 g->re.trie.min = INT_MAX; in trie()
2244 e->re.nest.primary = isalnum(*env->cursor) ? -1 : *env->cursor; in grp()
2262 if (e->re.nest.type[i] & ~x) in grp()
2264 e->re.nest.type[i] = x; in grp()
2276 e->re.nest.type[UCHAR_MAX+1] |= REX_NEST_terminator; in grp()
2288 if (e->re.nest.type[i] & ~x) in grp()
2290 e->re.nest.type[i] = x|REX_NEST_open|REX_NEST_close|(i<<REX_NEST_SHIFT); in grp()
2313 …if (isalnum(i) || (e->re.nest.type[i] & (REX_NEST_close|REX_NEST_escape|REX_NEST_literal|REX_NEST_… in grp()
2315 e->re.nest.type[i] = REX_NEST_open; in grp()
2316 …if ((x = chr(env, &esc)) < 0 || (e->re.nest.type[x] & (REX_NEST_close|REX_NEST_escape|REX_NEST_del… in grp()
2325 e->re.nest.type[x] |= REX_NEST_close; in grp()
2326 e->re.nest.type[i] |= x << REX_NEST_SHIFT; in grp()
2343 f->re.group.back = 0; in grp()
2344 f->re.group.number = parno; in grp()
2345 f->re.group.expr.rex = e; in grp()
2396 e->re.group.size = c; in grp()
2397 e->re.group.expr.binary.left = f; in grp()
2398 if (!(e->re.group.expr.binary.right = alt(env, parno, 1))) in grp()
2447 e->re.exec.text = (const char*)p; in grp()
2448 e->re.exec.size = env->cursor - p - 2; in grp()
2450 e->re.exec.data = 0; in grp()
2452 … e->re.exec.data = (*env->disc->re_compf)(env->regex, e->re.exec.text, e->re.exec.size, env->disc); in grp()
2476 env->paren[c]->re.group.back = 1; in grp()
2507 f->re.group.expr.rex = e; in grp()
2517 f->re.group.size = env->stats.m; in grp()
2602 memcpy((char*)(e->re.string.base = (unsigned char*)e->re.data), (char*)buf, i); in seq()
2603 e->re.string.size = i; in seq()
2612 f->re.onechar = (env->flags & REG_ICASE) ? toupper(x) : x; in seq()
2618 memcpy((char*)(f->re.string.base = (unsigned char*)f->re.data), (char*)p, n); in seq()
2619 f->re.string.size = n; in seq()
2633 memcpy((char*)(e->re.string.base = (unsigned char*)e->re.data), (char*)buf, c); in seq()
2634 e->re.string.size = c; in seq()
2646 env->paren[c]->re.group.back = 1; in seq()
2700 f->re.group.back = 0; in seq()
2701 f->re.group.number = parno; in seq()
2702 f->re.group.expr.rex = e; in seq()
2719 f->re.group.back = 0; in seq()
2720 f->re.group.number = parno; in seq()
2721 f->re.group.expr.rex = e; in seq()
2782 e->re.onechar = '/'; in seq()
2837 g->re.group.expr.binary.left = e; in con()
2838 g->re.group.expr.binary.right = f; in con()
2877 g->re.group.number = number; in alt()
2878 g->re.group.last = env->parno; in alt()
2879 g->re.group.expr.binary.left = e; in alt()
2880 g->re.group.expr.binary.right = f; in alt()
2906 a->re.bm.mask[m][c] |= b; in bmstr()
2907 if (z == HIT || !a->re.bm.skip[c] || a->re.bm.skip[c] > z && a->re.bm.skip[c] < HIT) in bmstr()
2908 a->re.bm.skip[c] = z; in bmstr()
2917 a->re.bm.mask[m][c] |= b; in bmstr()
2918 if (z == HIT || !a->re.bm.skip[c] || a->re.bm.skip[c] > z && a->re.bm.skip[c] < HIT) in bmstr()
2919 a->re.bm.skip[c] = z; in bmstr()
2940 a->re.bm.complete = 0; in bmtrie()
2943 a->re.bm.complete = 0; in bmtrie()
2976 if ((x = env->stats.x) && x->re.string.size < 3) in special()
2978 if ((t = env->stats.y) && t->re.trie.min < 3) in special()
2982 if (x->re.string.size >= t->re.trie.min) in special()
3000 n = m = x->re.string.size; in special()
3006 n = t->re.trie.min; in special()
3007 m = t->re.trie.max; in special()
3019 a->re.bm.size = n; in special()
3020 a->re.bm.back = (y == e || y == e->re.group.expr.rex) ? (m - n) : -1; in special()
3021 a->re.bm.left = l - 1; in special()
3022 a->re.bm.right = env->stats.m - l - n; in special()
3023 …a->re.bm.complete = (env->stats.e || y != e && (e->type != REX_GROUP || y != e->re.group.expr.rex)… in special()
3024 h = (Bm_mask_t*)&a->re.bm.mask[n]; in special()
3025 a->re.bm.skip = (size_t*)(h + n * (UCHAR_MAX + 1)); in special()
3026 a->re.bm.fail = &a->re.bm.skip[UCHAR_MAX + 1]; in special()
3028 a->re.bm.skip[m] = n; in special()
3029 …a->re.bm.skip[0] = a->re.bm.skip[env->mappednewline] = (y->next && y->next->type == REX_END) ? HIT… in special()
3031 a->re.bm.fail[i] = 2 * n - i; in special()
3032 mask = a->re.bm.mask; in special()
3039 bmstr(env, a, x->re.string.base, n, 1); in special()
3046 if (t->re.trie.root[i]) in special()
3047 m = bmtrie(env, a, v, t->re.trie.root[i], n, 0, m); in special()
3062 …f(sfstderr, "BM#2: fail[%d]=%d => %d\n", k, a->re.bm.fail[k], (a->re.bm.fail[k] > n - j) ? (n - j)… in special()
3063 if (a->re.bm.fail[k] > n - j) in special()
3064 a->re.bm.fail[k] = n - j; in special()
3069 if (a->re.bm.fail[i] > n + k - i) in special()
3071 …DEBUG_TEST(0x0010,sfprintf(sfstderr, "BM#4: fail[%d]=%d => %d\n", i, a->re.bm.fail[i], n + k - i),… in special()
3072 a->re.bm.fail[i] = n + k - i; in special()
3077 …complete=%d n=%d k=%d l=%d r=%d y=%d:%d e=%d:%d\n", a->re.bm.complete, n, k, a->re.bm.left, a->re.… in special()
3080 if (a->re.bm.mask[m][i]) in special()
3081 sfprintf(sfstderr, "MASK: [%d]['%c'] = %032..2u\n", m, i, a->re.bm.mask[m][i]); in special()
3083 if (a->re.bm.skip[i] >= HIT) in special()
3085 else if (a->re.bm.skip[i] > 0 && a->re.bm.skip[i] < n) in special()
3086 sfprintf(sfstderr, "SKIP: ['%c'] = %3d\n", i, a->re.bm.skip[i]); in special()
3094 if (a->re.bm.mask[m][i] & (1 << j)) in special()
3113 sfprintf(sfstderr, "%3d", a->re.bm.fail[m]); in special()
3131 e = e->re.group.expr.rex; in special()
3147 s = e->re.string.base; in special()
3148 n = e->re.string.size; in special()
3153 f = a->re.string.fail; in special()
3154 memcpy((char*)(a->re.string.base = (unsigned char*)&f[n]), (char*)s, n); in special()
3155 s = a->re.string.base; in special()
3156 a->re.string.size = n; in special()
3501 p->env->min = g->re.trie.min; in regcomb()