dfa 514 maint/gnulib/lib/dfa.c struct dfa *superset; /* Hint of the dfa. */ dfa 592 maint/gnulib/lib/dfa.c char *(*dfaexec) (struct dfa *, char const *, char *, dfa 603 maint/gnulib/lib/dfa.c accepting (state_num s, struct dfa const *r) dfa 610 maint/gnulib/lib/dfa.c accepts_in_context (int prev, int curr, state_num state, struct dfa const *dfa) dfa 612 maint/gnulib/lib/dfa.c return succeeds_in_context (dfa->states[state].constraint, prev, curr); dfa 615 maint/gnulib/lib/dfa.c static void regexp (struct dfa *dfa); dfa 635 maint/gnulib/lib/dfa.c mbs_to_wchar (wint_t *pwc, char const *s, idx_t n, struct dfa *d) dfa 816 maint/gnulib/lib/dfa.c charclass_index (struct dfa *d, charclass const *s) dfa 831 maint/gnulib/lib/dfa.c unibyte_word_constituent (struct dfa const *dfa, unsigned char c) dfa 833 maint/gnulib/lib/dfa.c return dfa->localeinfo.sbctowc[c] != WEOF && (isalnum (c) || (c) == '_'); dfa 837 maint/gnulib/lib/dfa.c char_context (struct dfa const *dfa, unsigned char c) dfa 839 maint/gnulib/lib/dfa.c if (c == dfa->syntax.eolbyte && !dfa->syntax.anchor) dfa 841 maint/gnulib/lib/dfa.c if (unibyte_word_constituent (dfa, c)) dfa 880 maint/gnulib/lib/dfa.c fetch_wc (struct dfa *dfa) dfa 882 maint/gnulib/lib/dfa.c int nbytes = mbs_to_wchar (&dfa->lex.wctok, dfa->lex.ptr, dfa->lex.left, dfa 883 maint/gnulib/lib/dfa.c dfa); dfa 884 maint/gnulib/lib/dfa.c int c = nbytes == 1 ? to_uchar (dfa->lex.ptr[0]) : EOF; dfa 885 maint/gnulib/lib/dfa.c dfa->lex.ptr += nbytes; dfa 886 maint/gnulib/lib/dfa.c dfa->lex.left -= nbytes; dfa 893 maint/gnulib/lib/dfa.c bracket_fetch_wc (struct dfa *dfa) dfa 895 maint/gnulib/lib/dfa.c if (! dfa->lex.left) dfa 897 maint/gnulib/lib/dfa.c return fetch_wc (dfa); dfa 941 maint/gnulib/lib/dfa.c parse_bracket_exp (struct dfa *dfa) dfa 954 maint/gnulib/lib/dfa.c dfa->lex.brack.nchars = 0; dfa 957 maint/gnulib/lib/dfa.c int c = bracket_fetch_wc (dfa); dfa 961 maint/gnulib/lib/dfa.c c = bracket_fetch_wc (dfa); dfa 962 maint/gnulib/lib/dfa.c known_bracket_exp = dfa->localeinfo.simple; dfa 964 maint/gnulib/lib/dfa.c wint_t wc = dfa->lex.wctok; dfa 979 maint/gnulib/lib/dfa.c c1 = bracket_fetch_wc (dfa); dfa 980 maint/gnulib/lib/dfa.c wc1 = dfa->lex.wctok; dfa 982 maint/gnulib/lib/dfa.c if ((c1 == ':' && (dfa->syntax.syntax_bits & RE_CHAR_CLASSES)) dfa 990 maint/gnulib/lib/dfa.c c = bracket_fetch_wc (dfa); dfa 991 maint/gnulib/lib/dfa.c if (dfa->lex.left == 0 dfa 992 maint/gnulib/lib/dfa.c || (c == c1 && dfa->lex.ptr[0] == ']')) dfa 1003 maint/gnulib/lib/dfa.c c = bracket_fetch_wc (dfa); dfa 1004 maint/gnulib/lib/dfa.c wc = dfa->lex.wctok; dfa 1012 maint/gnulib/lib/dfa.c = (dfa->syntax.case_fold && (streq (str, "upper") dfa 1019 maint/gnulib/lib/dfa.c if (dfa->localeinfo.multibyte && !pred->single_byte_only) dfa 1032 maint/gnulib/lib/dfa.c c1 = bracket_fetch_wc (dfa); dfa 1033 maint/gnulib/lib/dfa.c wc1 = dfa->lex.wctok; dfa 1042 maint/gnulib/lib/dfa.c && (dfa->syntax.syntax_bits & RE_BACKSLASH_ESCAPE_IN_LISTS)) dfa 1044 maint/gnulib/lib/dfa.c c = bracket_fetch_wc (dfa); dfa 1045 maint/gnulib/lib/dfa.c wc = dfa->lex.wctok; dfa 1050 maint/gnulib/lib/dfa.c c1 = bracket_fetch_wc (dfa); dfa 1051 maint/gnulib/lib/dfa.c wc1 = dfa->lex.wctok; dfa 1057 maint/gnulib/lib/dfa.c int c2 = bracket_fetch_wc (dfa); dfa 1058 maint/gnulib/lib/dfa.c wint_t wc2 = dfa->lex.wctok; dfa 1063 maint/gnulib/lib/dfa.c if (c2 == '[' && dfa->lex.ptr[0] == '.') dfa 1073 maint/gnulib/lib/dfa.c dfa->lex.ptr--; dfa 1074 maint/gnulib/lib/dfa.c dfa->lex.left++; dfa 1078 maint/gnulib/lib/dfa.c if (c2 == '\\' && (dfa->syntax.syntax_bits dfa 1081 maint/gnulib/lib/dfa.c c2 = bracket_fetch_wc (dfa); dfa 1082 maint/gnulib/lib/dfa.c wc2 = dfa->lex.wctok; dfa 1086 maint/gnulib/lib/dfa.c c1 = bracket_fetch_wc (dfa); dfa 1087 maint/gnulib/lib/dfa.c wc1 = dfa->lex.wctok; dfa 1092 maint/gnulib/lib/dfa.c if (dfa->localeinfo.simple dfa 1096 maint/gnulib/lib/dfa.c if (dfa->syntax.case_fold && isalpha (ci)) dfa 1111 maint/gnulib/lib/dfa.c if (!dfa->localeinfo.multibyte) dfa 1113 maint/gnulib/lib/dfa.c if (dfa->syntax.case_fold && isalpha (c)) dfa 1125 maint/gnulib/lib/dfa.c int n = (dfa->syntax.case_fold dfa 1132 maint/gnulib/lib/dfa.c dfa->lex.brack.chars dfa 1133 maint/gnulib/lib/dfa.c = maybe_realloc (dfa->lex.brack.chars, dfa->lex.brack.nchars, dfa 1134 maint/gnulib/lib/dfa.c &dfa->lex.brack.nchars_alloc, -1, dfa 1135 maint/gnulib/lib/dfa.c sizeof *dfa->lex.brack.chars); dfa 1136 maint/gnulib/lib/dfa.c dfa->lex.brack.chars[dfa->lex.brack.nchars++] = folded[i]; dfa 1148 maint/gnulib/lib/dfa.c if (dfa->localeinfo.multibyte && (invert || dfa->lex.brack.nchars != 0)) dfa 1150 maint/gnulib/lib/dfa.c dfa->lex.brack.invert = invert; dfa 1151 maint/gnulib/lib/dfa.c dfa->lex.brack.cset = emptyset (&ccl) ? -1 : charclass_index (dfa, &ccl); dfa 1158 maint/gnulib/lib/dfa.c if (dfa->syntax.syntax_bits & RE_HAT_LISTS_NOT_NEWLINE) dfa 1162 maint/gnulib/lib/dfa.c return CSET + charclass_index (dfa, &ccl); dfa 1172 maint/gnulib/lib/dfa.c push_lex_state (struct dfa *dfa, struct lexptr *ls, char const *s) dfa 1174 maint/gnulib/lib/dfa.c ls->ptr = dfa->lex.ptr; dfa 1175 maint/gnulib/lib/dfa.c ls->left = dfa->lex.left; dfa 1176 maint/gnulib/lib/dfa.c dfa->lex.ptr = s; dfa 1177 maint/gnulib/lib/dfa.c dfa->lex.left = strlen (s); dfa 1181 maint/gnulib/lib/dfa.c pop_lex_state (struct dfa *dfa, struct lexptr const *ls) dfa 1183 maint/gnulib/lib/dfa.c dfa->lex.ptr = ls->ptr; dfa 1184 maint/gnulib/lib/dfa.c dfa->lex.left = ls->left; dfa 1188 maint/gnulib/lib/dfa.c lex (struct dfa *dfa) dfa 1200 maint/gnulib/lib/dfa.c if (! dfa->lex.left) dfa 1201 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = END; dfa 1202 maint/gnulib/lib/dfa.c int c = fetch_wc (dfa); dfa 1209 maint/gnulib/lib/dfa.c if (dfa->lex.left == 0) dfa 1217 maint/gnulib/lib/dfa.c if (dfa->syntax.syntax_bits & RE_CONTEXT_INDEP_ANCHORS dfa 1218 maint/gnulib/lib/dfa.c || dfa->lex.lasttok == END || dfa->lex.lasttok == LPAREN dfa 1219 maint/gnulib/lib/dfa.c || dfa->lex.lasttok == OR) dfa 1220 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = BEGLINE; dfa 1226 maint/gnulib/lib/dfa.c if (dfa->syntax.syntax_bits & RE_CONTEXT_INDEP_ANCHORS dfa 1227 maint/gnulib/lib/dfa.c || dfa->lex.left == 0 dfa 1228 maint/gnulib/lib/dfa.c || ((dfa->lex.left dfa 1229 maint/gnulib/lib/dfa.c > !(dfa->syntax.syntax_bits & RE_NO_BK_PARENS)) dfa 1230 maint/gnulib/lib/dfa.c && (dfa->lex.ptr[!(dfa->syntax.syntax_bits & RE_NO_BK_PARENS) dfa 1231 maint/gnulib/lib/dfa.c & (dfa->lex.ptr[0] == '\\')] dfa 1233 maint/gnulib/lib/dfa.c || ((dfa->lex.left dfa 1234 maint/gnulib/lib/dfa.c > !(dfa->syntax.syntax_bits & RE_NO_BK_VBAR)) dfa 1235 maint/gnulib/lib/dfa.c && (dfa->lex.ptr[!(dfa->syntax.syntax_bits & RE_NO_BK_VBAR) dfa 1236 maint/gnulib/lib/dfa.c & (dfa->lex.ptr[0] == '\\')] dfa 1238 maint/gnulib/lib/dfa.c || ((dfa->syntax.syntax_bits & RE_NEWLINE_ALT) dfa 1239 maint/gnulib/lib/dfa.c && dfa->lex.left > 0 && dfa->lex.ptr[0] == '\n')) dfa 1240 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = ENDLINE; dfa 1252 maint/gnulib/lib/dfa.c if (backslash && !(dfa->syntax.syntax_bits & RE_NO_BK_REFS)) dfa 1254 maint/gnulib/lib/dfa.c dfa->lex.laststart = false; dfa 1255 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = BACKREF; dfa 1260 maint/gnulib/lib/dfa.c if (backslash && !(dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) dfa 1263 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = BEGLINE; dfa 1268 maint/gnulib/lib/dfa.c if (backslash && !(dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) dfa 1271 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = ENDLINE; dfa 1276 maint/gnulib/lib/dfa.c if (backslash && !(dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) dfa 1277 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = BEGWORD; dfa 1281 maint/gnulib/lib/dfa.c if (backslash && !(dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) dfa 1282 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = ENDWORD; dfa 1286 maint/gnulib/lib/dfa.c if (backslash && !(dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) dfa 1287 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = LIMWORD; dfa 1291 maint/gnulib/lib/dfa.c if (backslash && !(dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) dfa 1292 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = NOTLIMWORD; dfa 1296 maint/gnulib/lib/dfa.c if (dfa->syntax.syntax_bits & RE_LIMITED_OPS) dfa 1298 maint/gnulib/lib/dfa.c if (backslash != ((dfa->syntax.syntax_bits & RE_BK_PLUS_QM) != 0)) dfa 1300 maint/gnulib/lib/dfa.c if (!(dfa->syntax.syntax_bits & RE_CONTEXT_INDEP_OPS) dfa 1301 maint/gnulib/lib/dfa.c && dfa->lex.laststart) dfa 1303 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = QMARK; dfa 1308 maint/gnulib/lib/dfa.c if (!(dfa->syntax.syntax_bits & RE_CONTEXT_INDEP_OPS) dfa 1309 maint/gnulib/lib/dfa.c && dfa->lex.laststart) dfa 1311 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = STAR; dfa 1314 maint/gnulib/lib/dfa.c if (dfa->syntax.syntax_bits & RE_LIMITED_OPS) dfa 1316 maint/gnulib/lib/dfa.c if (backslash != ((dfa->syntax.syntax_bits & RE_BK_PLUS_QM) != 0)) dfa 1318 maint/gnulib/lib/dfa.c if (!(dfa->syntax.syntax_bits & RE_CONTEXT_INDEP_OPS) dfa 1319 maint/gnulib/lib/dfa.c && dfa->lex.laststart) dfa 1321 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = PLUS; dfa 1324 maint/gnulib/lib/dfa.c if (!(dfa->syntax.syntax_bits & RE_INTERVALS)) dfa 1326 maint/gnulib/lib/dfa.c if (backslash != ((dfa->syntax.syntax_bits & RE_NO_BK_BRACES) == 0)) dfa 1328 maint/gnulib/lib/dfa.c if (!(dfa->syntax.syntax_bits & RE_CONTEXT_INDEP_OPS) dfa 1329 maint/gnulib/lib/dfa.c && dfa->lex.laststart) dfa 1339 maint/gnulib/lib/dfa.c char const *p = dfa->lex.ptr; dfa 1340 maint/gnulib/lib/dfa.c char const *lim = p + dfa->lex.left; dfa 1341 maint/gnulib/lib/dfa.c dfa->lex.minrep = dfa->lex.maxrep = -1; dfa 1343 maint/gnulib/lib/dfa.c dfa->lex.minrep = (dfa->lex.minrep < 0 dfa 1346 maint/gnulib/lib/dfa.c dfa->lex.minrep * 10 + *p - '0')); dfa 1350 maint/gnulib/lib/dfa.c dfa->lex.maxrep = dfa->lex.minrep; dfa 1353 maint/gnulib/lib/dfa.c if (dfa->lex.minrep < 0) dfa 1354 maint/gnulib/lib/dfa.c dfa->lex.minrep = 0; dfa 1356 maint/gnulib/lib/dfa.c dfa->lex.maxrep dfa 1357 maint/gnulib/lib/dfa.c = (dfa->lex.maxrep < 0 dfa 1360 maint/gnulib/lib/dfa.c dfa->lex.maxrep * 10 + *p - '0')); dfa 1365 maint/gnulib/lib/dfa.c && 0 <= dfa->lex.minrep dfa 1366 maint/gnulib/lib/dfa.c && (dfa->lex.maxrep < 0 dfa 1367 maint/gnulib/lib/dfa.c || dfa->lex.minrep <= dfa->lex.maxrep))) dfa 1369 maint/gnulib/lib/dfa.c if (dfa->syntax.syntax_bits & RE_INVALID_INTERVAL_ORD) dfa 1373 maint/gnulib/lib/dfa.c if (RE_DUP_MAX < dfa->lex.maxrep) dfa 1375 maint/gnulib/lib/dfa.c dfa->lex.ptr = p; dfa 1376 maint/gnulib/lib/dfa.c dfa->lex.left = lim - p; dfa 1378 maint/gnulib/lib/dfa.c dfa->lex.laststart = false; dfa 1379 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = REPMN; dfa 1382 maint/gnulib/lib/dfa.c if (dfa->syntax.syntax_bits & RE_LIMITED_OPS) dfa 1384 maint/gnulib/lib/dfa.c if (backslash != ((dfa->syntax.syntax_bits & RE_NO_BK_VBAR) == 0)) dfa 1386 maint/gnulib/lib/dfa.c dfa->lex.laststart = true; dfa 1387 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = OR; dfa 1390 maint/gnulib/lib/dfa.c if (dfa->syntax.syntax_bits & RE_LIMITED_OPS dfa 1391 maint/gnulib/lib/dfa.c || backslash || !(dfa->syntax.syntax_bits & RE_NEWLINE_ALT)) dfa 1393 maint/gnulib/lib/dfa.c dfa->lex.laststart = true; dfa 1394 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = OR; dfa 1397 maint/gnulib/lib/dfa.c if (backslash != ((dfa->syntax.syntax_bits & RE_NO_BK_PARENS) == 0)) dfa 1399 maint/gnulib/lib/dfa.c dfa->lex.parens++; dfa 1400 maint/gnulib/lib/dfa.c dfa->lex.laststart = true; dfa 1401 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = LPAREN; dfa 1404 maint/gnulib/lib/dfa.c if (backslash != ((dfa->syntax.syntax_bits & RE_NO_BK_PARENS) == 0)) dfa 1406 maint/gnulib/lib/dfa.c if (dfa->lex.parens == 0 dfa 1407 maint/gnulib/lib/dfa.c && dfa->syntax.syntax_bits & RE_UNMATCHED_RIGHT_PAREN_ORD) dfa 1409 maint/gnulib/lib/dfa.c dfa->lex.parens--; dfa 1410 maint/gnulib/lib/dfa.c dfa->lex.laststart = false; dfa 1411 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = RPAREN; dfa 1416 maint/gnulib/lib/dfa.c if (dfa->canychar < 0) dfa 1420 maint/gnulib/lib/dfa.c if (!(dfa->syntax.syntax_bits & RE_DOT_NEWLINE)) dfa 1422 maint/gnulib/lib/dfa.c if (dfa->syntax.syntax_bits & RE_DOT_NOT_NULL) dfa 1424 maint/gnulib/lib/dfa.c if (dfa->localeinfo.multibyte) dfa 1426 maint/gnulib/lib/dfa.c if (dfa->localeinfo.sbctowc[c2] == WEOF) dfa 1428 maint/gnulib/lib/dfa.c dfa->canychar = charclass_index (dfa, &ccl); dfa 1430 maint/gnulib/lib/dfa.c dfa->lex.laststart = false; dfa 1431 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = (dfa->localeinfo.multibyte dfa 1433 maint/gnulib/lib/dfa.c : CSET + dfa->canychar); dfa 1437 maint/gnulib/lib/dfa.c if (!backslash || (dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) dfa 1439 maint/gnulib/lib/dfa.c if (!dfa->localeinfo.multibyte) dfa 1448 maint/gnulib/lib/dfa.c dfa->lex.laststart = false; dfa 1449 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = CSET + charclass_index (dfa, &ccl); dfa 1460 maint/gnulib/lib/dfa.c push_lex_state (dfa, &ls, &"^[:space:]]"[c == 's']); dfa 1461 maint/gnulib/lib/dfa.c dfa->lex.lasttok = parse_bracket_exp (dfa); dfa 1462 maint/gnulib/lib/dfa.c pop_lex_state (dfa, &ls); dfa 1465 maint/gnulib/lib/dfa.c dfa->lex.laststart = false; dfa 1466 maint/gnulib/lib/dfa.c return dfa->lex.lasttok; dfa 1470 maint/gnulib/lib/dfa.c if (!backslash || (dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) dfa 1473 maint/gnulib/lib/dfa.c if (!dfa->localeinfo.multibyte) dfa 1478 maint/gnulib/lib/dfa.c if (dfa->syntax.sbit[c2] == CTX_LETTER) dfa 1482 maint/gnulib/lib/dfa.c dfa->lex.laststart = false; dfa 1483 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = CSET + charclass_index (dfa, &ccl); dfa 1494 maint/gnulib/lib/dfa.c push_lex_state (dfa, &ls, &"^_[:alnum:]]"[c == 'w']); dfa 1495 maint/gnulib/lib/dfa.c dfa->lex.lasttok = parse_bracket_exp (dfa); dfa 1496 maint/gnulib/lib/dfa.c pop_lex_state (dfa, &ls); dfa 1499 maint/gnulib/lib/dfa.c dfa->lex.laststart = false; dfa 1500 maint/gnulib/lib/dfa.c return dfa->lex.lasttok; dfa 1505 maint/gnulib/lib/dfa.c dfa->lex.laststart = false; dfa 1506 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = parse_bracket_exp (dfa); dfa 1510 maint/gnulib/lib/dfa.c dfa->lex.laststart = false; dfa 1513 maint/gnulib/lib/dfa.c if (dfa->localeinfo.multibyte) dfa 1514 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = WCHAR; dfa 1516 maint/gnulib/lib/dfa.c if (dfa->syntax.case_fold && isalpha (c)) dfa 1521 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = CSET + charclass_index (dfa, &ccl); dfa 1524 maint/gnulib/lib/dfa.c return dfa->lex.lasttok = c; dfa 1535 maint/gnulib/lib/dfa.c addtok_mb (struct dfa *dfa, token t, char mbprop) dfa 1537 maint/gnulib/lib/dfa.c if (dfa->talloc == dfa->tindex) dfa 1539 maint/gnulib/lib/dfa.c dfa->tokens = xpalloc (dfa->tokens, &dfa->talloc, 1, -1, dfa 1540 maint/gnulib/lib/dfa.c sizeof *dfa->tokens); dfa 1541 maint/gnulib/lib/dfa.c if (dfa->localeinfo.multibyte) dfa 1542 maint/gnulib/lib/dfa.c dfa->multibyte_prop = xreallocarray (dfa->multibyte_prop, dfa->talloc, dfa 1543 maint/gnulib/lib/dfa.c sizeof *dfa->multibyte_prop); dfa 1545 maint/gnulib/lib/dfa.c if (dfa->localeinfo.multibyte) dfa 1546 maint/gnulib/lib/dfa.c dfa->multibyte_prop[dfa->tindex] = mbprop; dfa 1547 maint/gnulib/lib/dfa.c dfa->tokens[dfa->tindex++] = t; dfa 1558 maint/gnulib/lib/dfa.c dfa->parse.depth--; dfa 1562 maint/gnulib/lib/dfa.c dfa->epsilon = true; dfa 1566 maint/gnulib/lib/dfa.c dfa->fast = false; dfa 1575 maint/gnulib/lib/dfa.c dfa->epsilon = true; dfa 1579 maint/gnulib/lib/dfa.c dfa->nleaves++; dfa 1581 maint/gnulib/lib/dfa.c dfa->parse.depth++; dfa 1582 maint/gnulib/lib/dfa.c if (dfa->depth < dfa->parse.depth) dfa 1583 maint/gnulib/lib/dfa.c dfa->depth = dfa->parse.depth; dfa 1588 maint/gnulib/lib/dfa.c static void addtok_wc (struct dfa *dfa, wint_t wc); dfa 1593 maint/gnulib/lib/dfa.c addtok (struct dfa *dfa, token t) dfa 1595 maint/gnulib/lib/dfa.c if (dfa->localeinfo.multibyte && t == MBCSET) dfa 1601 maint/gnulib/lib/dfa.c for (idx_t i = 0; i < dfa->lex.brack.nchars; i++) dfa 1603 maint/gnulib/lib/dfa.c addtok_wc (dfa, dfa->lex.brack.chars[i]); dfa 1605 maint/gnulib/lib/dfa.c addtok (dfa, OR); dfa 1608 maint/gnulib/lib/dfa.c dfa->lex.brack.nchars = 0; dfa 1612 maint/gnulib/lib/dfa.c if (dfa->lex.brack.cset != -1) dfa 1614 maint/gnulib/lib/dfa.c addtok (dfa, CSET + dfa->lex.brack.cset); dfa 1616 maint/gnulib/lib/dfa.c addtok (dfa, OR); dfa 1621 maint/gnulib/lib/dfa.c addtok_mb (dfa, t, 3); dfa 1632 maint/gnulib/lib/dfa.c addtok_wc (struct dfa *dfa, wint_t wc) dfa 1649 maint/gnulib/lib/dfa.c addtok_mb (dfa, buf[0], buflen == 1 ? 3 : 1); dfa 1652 maint/gnulib/lib/dfa.c addtok_mb (dfa, buf[i], i == buflen - 1 ? 2 : 0); dfa 1653 maint/gnulib/lib/dfa.c addtok (dfa, CAT); dfa 1658 maint/gnulib/lib/dfa.c add_utf8_anychar (struct dfa *dfa) dfa 1724 maint/gnulib/lib/dfa.c if (dfa->utf8_anychar_classes[0] == 0) dfa 1727 maint/gnulib/lib/dfa.c if (! (dfa->syntax.syntax_bits & RE_DOT_NEWLINE)) dfa 1729 maint/gnulib/lib/dfa.c if (dfa->syntax.syntax_bits & RE_DOT_NOT_NULL) dfa 1731 maint/gnulib/lib/dfa.c dfa->utf8_anychar_classes[0] = CSET + charclass_index (dfa, &c); dfa 1734 maint/gnulib/lib/dfa.c dfa->utf8_anychar_classes[i] dfa 1735 maint/gnulib/lib/dfa.c = CSET + charclass_index (dfa, &utf8_classes[i]); dfa 1742 maint/gnulib/lib/dfa.c addtok (dfa, dfa->utf8_anychar_classes[A]); dfa 1743 maint/gnulib/lib/dfa.c addtok (dfa, dfa->utf8_anychar_classes[B]); dfa 1744 maint/gnulib/lib/dfa.c addtok (dfa, D_token); dfa 1745 maint/gnulib/lib/dfa.c addtok (dfa, dfa->utf8_anychar_classes[E]); dfa 1746 maint/gnulib/lib/dfa.c addtok (dfa, CAT); dfa 1747 maint/gnulib/lib/dfa.c addtok (dfa, OR); dfa 1748 maint/gnulib/lib/dfa.c addtok (dfa, G_token); dfa 1749 maint/gnulib/lib/dfa.c addtok (dfa, dfa->utf8_anychar_classes[H]); dfa 1750 maint/gnulib/lib/dfa.c addtok (dfa, CAT); dfa 1751 maint/gnulib/lib/dfa.c addtok (dfa, OR); dfa 1752 maint/gnulib/lib/dfa.c addtok (dfa, dfa->utf8_anychar_classes[F]); dfa 1753 maint/gnulib/lib/dfa.c addtok (dfa, I_token); dfa 1754 maint/gnulib/lib/dfa.c addtok (dfa, dfa->utf8_anychar_classes[J]); dfa 1755 maint/gnulib/lib/dfa.c addtok (dfa, CAT); dfa 1756 maint/gnulib/lib/dfa.c addtok (dfa, OR); dfa 1757 maint/gnulib/lib/dfa.c addtok (dfa, L_token); dfa 1758 maint/gnulib/lib/dfa.c addtok (dfa, dfa->utf8_anychar_classes[M]); dfa 1759 maint/gnulib/lib/dfa.c addtok (dfa, CAT); dfa 1760 maint/gnulib/lib/dfa.c addtok (dfa, OR); dfa 1761 maint/gnulib/lib/dfa.c addtok (dfa, dfa->utf8_anychar_classes[K]); dfa 1764 maint/gnulib/lib/dfa.c addtok (dfa, dfa->utf8_anychar_classes[C]); dfa 1765 maint/gnulib/lib/dfa.c addtok (dfa, CAT); dfa 1766 maint/gnulib/lib/dfa.c addtok (dfa, OR); dfa 1806 maint/gnulib/lib/dfa.c atom (struct dfa *dfa) dfa 1808 maint/gnulib/lib/dfa.c if ((0 <= dfa->parse.tok && dfa->parse.tok < NOTCHAR) dfa 1809 maint/gnulib/lib/dfa.c || dfa->parse.tok >= CSET dfa 1810 maint/gnulib/lib/dfa.c || dfa->parse.tok == BEG || dfa->parse.tok == BACKREF dfa 1811 maint/gnulib/lib/dfa.c || dfa->parse.tok == BEGLINE || dfa->parse.tok == ENDLINE dfa 1812 maint/gnulib/lib/dfa.c || dfa->parse.tok == BEGWORD || dfa->parse.tok == ENDWORD dfa 1813 maint/gnulib/lib/dfa.c || dfa->parse.tok == LIMWORD || dfa->parse.tok == NOTLIMWORD dfa 1814 maint/gnulib/lib/dfa.c || dfa->parse.tok == ANYCHAR || dfa->parse.tok == MBCSET) dfa 1816 maint/gnulib/lib/dfa.c if (dfa->parse.tok == ANYCHAR && dfa->localeinfo.using_utf8) dfa 1825 maint/gnulib/lib/dfa.c add_utf8_anychar (dfa); dfa 1828 maint/gnulib/lib/dfa.c addtok (dfa, dfa->parse.tok); dfa 1829 maint/gnulib/lib/dfa.c dfa->parse.tok = lex (dfa); dfa 1831 maint/gnulib/lib/dfa.c else if (dfa->parse.tok == WCHAR) dfa 1833 maint/gnulib/lib/dfa.c if (dfa->lex.wctok == WEOF) dfa 1834 maint/gnulib/lib/dfa.c addtok (dfa, BACKREF); dfa 1837 maint/gnulib/lib/dfa.c addtok_wc (dfa, dfa->lex.wctok); dfa 1839 maint/gnulib/lib/dfa.c if (dfa->syntax.case_fold) dfa 1842 maint/gnulib/lib/dfa.c int n = case_folded_counterparts (dfa->lex.wctok, folded); dfa 1845 maint/gnulib/lib/dfa.c addtok_wc (dfa, folded[i]); dfa 1846 maint/gnulib/lib/dfa.c addtok (dfa, OR); dfa 1851 maint/gnulib/lib/dfa.c dfa->parse.tok = lex (dfa); dfa 1853 maint/gnulib/lib/dfa.c else if (dfa->parse.tok == LPAREN) dfa 1855 maint/gnulib/lib/dfa.c dfa->parse.tok = lex (dfa); dfa 1856 maint/gnulib/lib/dfa.c regexp (dfa); dfa 1857 maint/gnulib/lib/dfa.c if (dfa->parse.tok != RPAREN) dfa 1859 maint/gnulib/lib/dfa.c dfa->parse.tok = lex (dfa); dfa 1862 maint/gnulib/lib/dfa.c addtok (dfa, EMPTY); dfa 1867 maint/gnulib/lib/dfa.c nsubtoks (struct dfa const *dfa, idx_t tindex) dfa 1869 maint/gnulib/lib/dfa.c switch (dfa->tokens[tindex - 1]) dfa 1876 maint/gnulib/lib/dfa.c return 1 + nsubtoks (dfa, tindex - 1); dfa 1880 maint/gnulib/lib/dfa.c idx_t ntoks1 = nsubtoks (dfa, tindex - 1); dfa 1881 maint/gnulib/lib/dfa.c return 1 + ntoks1 + nsubtoks (dfa, tindex - 1 - ntoks1); dfa 1888 maint/gnulib/lib/dfa.c copytoks (struct dfa *dfa, idx_t tindex, idx_t ntokens) dfa 1890 maint/gnulib/lib/dfa.c if (dfa->localeinfo.multibyte) dfa 1892 maint/gnulib/lib/dfa.c addtok_mb (dfa, dfa->tokens[tindex + i], dfa 1893 maint/gnulib/lib/dfa.c dfa->multibyte_prop[tindex + i]); dfa 1896 maint/gnulib/lib/dfa.c addtok_mb (dfa, dfa->tokens[tindex + i], 3); dfa 1900 maint/gnulib/lib/dfa.c closure (struct dfa *dfa) dfa 1902 maint/gnulib/lib/dfa.c atom (dfa); dfa 1903 maint/gnulib/lib/dfa.c while (dfa->parse.tok == QMARK || dfa->parse.tok == STAR dfa 1904 maint/gnulib/lib/dfa.c || dfa->parse.tok == PLUS || dfa->parse.tok == REPMN) dfa 1905 maint/gnulib/lib/dfa.c if (dfa->parse.tok == REPMN && (dfa->lex.minrep || dfa->lex.maxrep)) dfa 1907 maint/gnulib/lib/dfa.c idx_t ntokens = nsubtoks (dfa, dfa->tindex); dfa 1908 maint/gnulib/lib/dfa.c idx_t tindex = dfa->tindex - ntokens; dfa 1909 maint/gnulib/lib/dfa.c if (dfa->lex.maxrep < 0) dfa 1910 maint/gnulib/lib/dfa.c addtok (dfa, PLUS); dfa 1911 maint/gnulib/lib/dfa.c if (dfa->lex.minrep == 0) dfa 1912 maint/gnulib/lib/dfa.c addtok (dfa, QMARK); dfa 1914 maint/gnulib/lib/dfa.c for (i = 1; i < dfa->lex.minrep; i++) dfa 1916 maint/gnulib/lib/dfa.c copytoks (dfa, tindex, ntokens); dfa 1917 maint/gnulib/lib/dfa.c addtok (dfa, CAT); dfa 1919 maint/gnulib/lib/dfa.c for (; i < dfa->lex.maxrep; i++) dfa 1921 maint/gnulib/lib/dfa.c copytoks (dfa, tindex, ntokens); dfa 1922 maint/gnulib/lib/dfa.c addtok (dfa, QMARK); dfa 1923 maint/gnulib/lib/dfa.c addtok (dfa, CAT); dfa 1925 maint/gnulib/lib/dfa.c dfa->parse.tok = lex (dfa); dfa 1927 maint/gnulib/lib/dfa.c else if (dfa->parse.tok == REPMN) dfa 1929 maint/gnulib/lib/dfa.c dfa->tindex -= nsubtoks (dfa, dfa->tindex); dfa 1930 maint/gnulib/lib/dfa.c dfa->parse.tok = lex (dfa); dfa 1931 maint/gnulib/lib/dfa.c closure (dfa); dfa 1935 maint/gnulib/lib/dfa.c addtok (dfa, dfa->parse.tok); dfa 1936 maint/gnulib/lib/dfa.c dfa->parse.tok = lex (dfa); dfa 1941 maint/gnulib/lib/dfa.c branch (struct dfa* dfa) dfa 1943 maint/gnulib/lib/dfa.c closure (dfa); dfa 1944 maint/gnulib/lib/dfa.c while (dfa->parse.tok != RPAREN && dfa->parse.tok != OR dfa 1945 maint/gnulib/lib/dfa.c && dfa->parse.tok >= 0) dfa 1947 maint/gnulib/lib/dfa.c closure (dfa); dfa 1948 maint/gnulib/lib/dfa.c addtok (dfa, CAT); dfa 1953 maint/gnulib/lib/dfa.c regexp (struct dfa *dfa) dfa 1955 maint/gnulib/lib/dfa.c branch (dfa); dfa 1956 maint/gnulib/lib/dfa.c while (dfa->parse.tok == OR) dfa 1958 maint/gnulib/lib/dfa.c dfa->parse.tok = lex (dfa); dfa 1959 maint/gnulib/lib/dfa.c branch (dfa); dfa 1960 maint/gnulib/lib/dfa.c addtok (dfa, OR); dfa 1967 maint/gnulib/lib/dfa.c dfaparse (char const *s, idx_t len, struct dfa *d) dfa 2168 maint/gnulib/lib/dfa.c state_index (struct dfa *d, position_set const *s, int context) dfa 2255 maint/gnulib/lib/dfa.c epsclosure (struct dfa const *d, position_set *backward) dfa 2307 maint/gnulib/lib/dfa.c charclass_context (struct dfa const *dfa, charclass const *c) dfa 2313 maint/gnulib/lib/dfa.c if (c->w[j] & dfa->syntax.newline.w[j]) dfa 2315 maint/gnulib/lib/dfa.c if (c->w[j] & dfa->syntax.letters.w[j]) dfa 2317 maint/gnulib/lib/dfa.c if (c->w[j] & ~(dfa->syntax.letters.w[j] | dfa->syntax.newline.w[j])) dfa 2331 maint/gnulib/lib/dfa.c state_separate_contexts (struct dfa *d, position_set const *s) dfa 2362 maint/gnulib/lib/dfa.c merge_nfa_state (struct dfa *d, idx_t tindex, char *flags, dfa 2433 maint/gnulib/lib/dfa.c reorder_tokens (struct dfa *d) dfa 2497 maint/gnulib/lib/dfa.c dfaoptimize (struct dfa *d) dfa 2587 maint/gnulib/lib/dfa.c dfaanalyze (struct dfa *d, bool searchflag) dfa 2849 maint/gnulib/lib/dfa.c realloc_trans_if_necessary (struct dfa *d) dfa 2916 maint/gnulib/lib/dfa.c build_state (state_num s, struct dfa *d, unsigned char uc) dfa 3203 maint/gnulib/lib/dfa.c transit_state_singlebyte (struct dfa *d, state_num s, unsigned char const **pp) dfa 3233 maint/gnulib/lib/dfa.c transit_state (struct dfa *d, state_num s, unsigned char const **pp, dfa 3319 maint/gnulib/lib/dfa.c skip_remains_mb (struct dfa *d, unsigned char const *p, dfa 3354 maint/gnulib/lib/dfa.c dfaexec_main (struct dfa *d, char const *begin, char *end, bool allow_nl, dfa 3537 maint/gnulib/lib/dfa.c dfaexec_mb (struct dfa *d, char const *begin, char *end, dfa 3544 maint/gnulib/lib/dfa.c dfaexec_sb (struct dfa *d, char const *begin, char *end, dfa 3553 maint/gnulib/lib/dfa.c dfaexec_noop (struct dfa *d, char const *begin, char *end, dfa 3565 maint/gnulib/lib/dfa.c dfaexec (struct dfa *d, char const *begin, char *end, dfa 3571 maint/gnulib/lib/dfa.c struct dfa * dfa 3572 maint/gnulib/lib/dfa.c dfasuperset (struct dfa const *d) dfa 3578 maint/gnulib/lib/dfa.c dfaisfast (struct dfa const *d) dfa 3584 maint/gnulib/lib/dfa.c free_mbdata (struct dfa *d) dfa 3601 maint/gnulib/lib/dfa.c dfasupported (struct dfa const *d) dfa 3625 maint/gnulib/lib/dfa.c maybe_disable_superset_dfa (struct dfa *d) dfa 3664 maint/gnulib/lib/dfa.c dfassbuild (struct dfa *d) dfa 3666 maint/gnulib/lib/dfa.c struct dfa *sup = dfaalloc (); dfa 3750 maint/gnulib/lib/dfa.c dfacomp (char const *s, idx_t len, struct dfa *d, bool searchflag) dfa 3776 maint/gnulib/lib/dfa.c dfafree (struct dfa *d) dfa 4062 maint/gnulib/lib/dfa.c dfamust (struct dfa const *d) dfa 4310 maint/gnulib/lib/dfa.c struct dfa * dfa 4313 maint/gnulib/lib/dfa.c return xmalloc (sizeof (struct dfa)); dfa 4318 maint/gnulib/lib/dfa.c dfasyntax (struct dfa *dfa, struct localeinfo const *linfo, dfa 4321 maint/gnulib/lib/dfa.c memset (dfa, 0, offsetof (struct dfa, dfaexec)); dfa 4322 maint/gnulib/lib/dfa.c dfa->dfaexec = linfo->multibyte ? dfaexec_mb : dfaexec_sb; dfa 4323 maint/gnulib/lib/dfa.c dfa->localeinfo = *linfo; dfa 4325 maint/gnulib/lib/dfa.c dfa->fast = !dfa->localeinfo.multibyte; dfa 4327 maint/gnulib/lib/dfa.c dfa->canychar = -1; dfa 4328 maint/gnulib/lib/dfa.c dfa->syntax.syntax_bits_set = true; dfa 4329 maint/gnulib/lib/dfa.c dfa->syntax.case_fold = (bits & RE_ICASE) != 0; dfa 4330 maint/gnulib/lib/dfa.c dfa->syntax.anchor = (dfaopts & DFA_ANCHOR) != 0; dfa 4331 maint/gnulib/lib/dfa.c dfa->syntax.eolbyte = dfaopts & DFA_EOL_NUL ? '\0' : '\n'; dfa 4332 maint/gnulib/lib/dfa.c dfa->syntax.syntax_bits = bits; dfa 4338 maint/gnulib/lib/dfa.c dfa->syntax.sbit[uc] = char_context (dfa, uc); dfa 4339 maint/gnulib/lib/dfa.c switch (dfa->syntax.sbit[uc]) dfa 4342 maint/gnulib/lib/dfa.c setbit (uc, &dfa->syntax.letters); dfa 4345 maint/gnulib/lib/dfa.c setbit (uc, &dfa->syntax.newline); dfa 4351 maint/gnulib/lib/dfa.c dfa->syntax.never_trail[uc] = (dfa->localeinfo.using_utf8 dfa 4359 maint/gnulib/lib/dfa.c dfacopysyntax (struct dfa *to, struct dfa const *from) dfa 4361 maint/gnulib/lib/dfa.c memset (to, 0, offsetof (struct dfa, syntax)); dfa 47 maint/gnulib/lib/dfa.h struct dfa; dfa 63 maint/gnulib/lib/dfa.h extern struct dfa *dfaalloc (void) dfa 84 maint/gnulib/lib/dfa.h extern void dfasyntax (struct dfa *, struct localeinfo const *, dfa 88 maint/gnulib/lib/dfa.h extern void dfacopysyntax (struct dfa *, struct dfa const *); dfa 91 maint/gnulib/lib/dfa.h extern void dfaparse (char const *, idx_t, struct dfa *); dfa 100 maint/gnulib/lib/dfa.h extern struct dfamust *dfamust (struct dfa const *) dfa 107 maint/gnulib/lib/dfa.h extern void dfacomp (char const *, idx_t, struct dfa *, bool); dfa 121 maint/gnulib/lib/dfa.h extern char *dfaexec (struct dfa *d, char const *begin, char *end, dfa 128 maint/gnulib/lib/dfa.h extern struct dfa *dfasuperset (struct dfa const *d) _GL_ATTRIBUTE_PURE; dfa 131 maint/gnulib/lib/dfa.h extern bool dfaisfast (struct dfa const *) _GL_ATTRIBUTE_PURE; dfa 134 maint/gnulib/lib/dfa.h extern bool dfasupported (struct dfa const *) _GL_ATTRIBUTE_PURE; dfa 137 maint/gnulib/lib/dfa.h extern void dfafree (struct dfa *); dfa 29 maint/gnulib/lib/regcomp.c static reg_errcode_t init_dfa (re_dfa_t *dfa, size_t pat_len); dfa 34 maint/gnulib/lib/regcomp.c static reg_errcode_t create_initial_state (re_dfa_t *dfa); dfa 36 maint/gnulib/lib/regcomp.c static void optimize_utf8 (re_dfa_t *dfa); dfa 52 maint/gnulib/lib/regcomp.c static Idx duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint); dfa 53 maint/gnulib/lib/regcomp.c static Idx search_duplicated_node (const re_dfa_t *dfa, Idx org_node, dfa 55 maint/gnulib/lib/regcomp.c static reg_errcode_t calc_eclosure (re_dfa_t *dfa); dfa 56 maint/gnulib/lib/regcomp.c static reg_errcode_t calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, dfa 58 maint/gnulib/lib/regcomp.c static reg_errcode_t calc_inveclosure (re_dfa_t *dfa); dfa 78 maint/gnulib/lib/regcomp.c re_dfa_t *dfa, re_token_t *token, dfa 80 maint/gnulib/lib/regcomp.c static bin_tree_t *parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, dfa 86 maint/gnulib/lib/regcomp.c re_dfa_t *dfa, dfa 111 maint/gnulib/lib/regcomp.c static bin_tree_t *build_charclass_op (re_dfa_t *dfa, dfa 116 maint/gnulib/lib/regcomp.c static bin_tree_t *create_tree (re_dfa_t *dfa, dfa 119 maint/gnulib/lib/regcomp.c static bin_tree_t *create_token_tree (re_dfa_t *dfa, dfa 122 maint/gnulib/lib/regcomp.c static bin_tree_t *duplicate_tree (const bin_tree_t *src, re_dfa_t *dfa); dfa 266 maint/gnulib/lib/regcomp.c re_dfa_t *dfa = bufp->buffer; dfa 270 maint/gnulib/lib/regcomp.c re_compile_fastmap_iter (bufp, dfa->init_state, fastmap); dfa 271 maint/gnulib/lib/regcomp.c if (dfa->init_state != dfa->init_state_word) dfa 272 maint/gnulib/lib/regcomp.c re_compile_fastmap_iter (bufp, dfa->init_state_word, fastmap); dfa 273 maint/gnulib/lib/regcomp.c if (dfa->init_state != dfa->init_state_nl) dfa 274 maint/gnulib/lib/regcomp.c re_compile_fastmap_iter (bufp, dfa->init_state_nl, fastmap); dfa 275 maint/gnulib/lib/regcomp.c if (dfa->init_state != dfa->init_state_begbuf) dfa 276 maint/gnulib/lib/regcomp.c re_compile_fastmap_iter (bufp, dfa->init_state_begbuf, fastmap); dfa 298 maint/gnulib/lib/regcomp.c re_dfa_t *dfa = bufp->buffer; dfa 300 maint/gnulib/lib/regcomp.c bool icase = (dfa->mb_cur_max == 1 && (bufp->syntax & RE_ICASE)); dfa 304 maint/gnulib/lib/regcomp.c re_token_type_t type = dfa->nodes[node].type; dfa 308 maint/gnulib/lib/regcomp.c re_set_fastmap (fastmap, icase, dfa->nodes[node].opr.c); dfa 310 maint/gnulib/lib/regcomp.c if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) dfa 318 maint/gnulib/lib/regcomp.c *p++ = dfa->nodes[node].opr.c; dfa 319 maint/gnulib/lib/regcomp.c while (++node < dfa->nodes_len dfa 320 maint/gnulib/lib/regcomp.c && dfa->nodes[node].type == CHARACTER dfa 321 maint/gnulib/lib/regcomp.c && dfa->nodes[node].mb_partial) dfa 322 maint/gnulib/lib/regcomp.c *p++ = dfa->nodes[node].opr.c; dfa 338 maint/gnulib/lib/regcomp.c bitset_word_t w = dfa->nodes[node].opr.sbcset[i]; dfa 347 maint/gnulib/lib/regcomp.c re_charset_t *cset = dfa->nodes[node].opr.mbcset; dfa 372 maint/gnulib/lib/regcomp.c if (dfa->mb_cur_max > 1 dfa 400 maint/gnulib/lib/regcomp.c if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) dfa 583 maint/gnulib/lib/regcomp.c free_dfa_content (re_dfa_t *dfa) dfa 587 maint/gnulib/lib/regcomp.c if (dfa->nodes) dfa 588 maint/gnulib/lib/regcomp.c for (i = 0; i < dfa->nodes_len; ++i) dfa 589 maint/gnulib/lib/regcomp.c free_token (dfa->nodes + i); dfa 590 maint/gnulib/lib/regcomp.c re_free (dfa->nexts); dfa 591 maint/gnulib/lib/regcomp.c for (i = 0; i < dfa->nodes_len; ++i) dfa 593 maint/gnulib/lib/regcomp.c if (dfa->eclosures != NULL) dfa 594 maint/gnulib/lib/regcomp.c re_node_set_free (dfa->eclosures + i); dfa 595 maint/gnulib/lib/regcomp.c if (dfa->inveclosures != NULL) dfa 596 maint/gnulib/lib/regcomp.c re_node_set_free (dfa->inveclosures + i); dfa 597 maint/gnulib/lib/regcomp.c if (dfa->edests != NULL) dfa 598 maint/gnulib/lib/regcomp.c re_node_set_free (dfa->edests + i); dfa 600 maint/gnulib/lib/regcomp.c re_free (dfa->edests); dfa 601 maint/gnulib/lib/regcomp.c re_free (dfa->eclosures); dfa 602 maint/gnulib/lib/regcomp.c re_free (dfa->inveclosures); dfa 603 maint/gnulib/lib/regcomp.c re_free (dfa->nodes); dfa 605 maint/gnulib/lib/regcomp.c if (dfa->state_table) dfa 606 maint/gnulib/lib/regcomp.c for (i = 0; i <= dfa->state_hash_mask; ++i) dfa 608 maint/gnulib/lib/regcomp.c struct re_state_table_entry *entry = dfa->state_table + i; dfa 616 maint/gnulib/lib/regcomp.c re_free (dfa->state_table); dfa 618 maint/gnulib/lib/regcomp.c if (dfa->sb_char != utf8_sb_map) dfa 619 maint/gnulib/lib/regcomp.c re_free (dfa->sb_char); dfa 621 maint/gnulib/lib/regcomp.c re_free (dfa->subexp_map); dfa 623 maint/gnulib/lib/regcomp.c re_free (dfa->re_str); dfa 626 maint/gnulib/lib/regcomp.c re_free (dfa); dfa 635 maint/gnulib/lib/regcomp.c re_dfa_t *dfa = preg->buffer; dfa 636 maint/gnulib/lib/regcomp.c if (__glibc_likely (dfa != NULL)) dfa 638 maint/gnulib/lib/regcomp.c lock_fini (dfa->lock); dfa 639 maint/gnulib/lib/regcomp.c free_dfa_content (dfa); dfa 730 maint/gnulib/lib/regcomp.c re_dfa_t *dfa; dfa 743 maint/gnulib/lib/regcomp.c dfa = preg->buffer; dfa 750 maint/gnulib/lib/regcomp.c dfa = re_realloc (preg->buffer, re_dfa_t, 1); dfa 751 maint/gnulib/lib/regcomp.c if (dfa == NULL) dfa 754 maint/gnulib/lib/regcomp.c preg->buffer = dfa; dfa 758 maint/gnulib/lib/regcomp.c err = init_dfa (dfa, length); dfa 759 maint/gnulib/lib/regcomp.c if (__glibc_unlikely (err == REG_NOERROR && lock_init (dfa->lock) != 0)) dfa 763 maint/gnulib/lib/regcomp.c free_dfa_content (dfa); dfa 770 maint/gnulib/lib/regcomp.c dfa->re_str = re_malloc (char, length + 1); dfa 771 maint/gnulib/lib/regcomp.c strncpy (dfa->re_str, pattern, length + 1); dfa 775 maint/gnulib/lib/regcomp.c (syntax & RE_ICASE) != 0, dfa); dfa 781 maint/gnulib/lib/regcomp.c lock_fini (dfa->lock); dfa 782 maint/gnulib/lib/regcomp.c free_dfa_content (dfa); dfa 790 maint/gnulib/lib/regcomp.c dfa->str_tree = parse (®exp, preg, syntax, &err); dfa 791 maint/gnulib/lib/regcomp.c if (__glibc_unlikely (dfa->str_tree == NULL)) dfa 801 maint/gnulib/lib/regcomp.c if (dfa->is_utf8 && !(syntax & RE_ICASE) && preg->translate == NULL) dfa 802 maint/gnulib/lib/regcomp.c optimize_utf8 (dfa); dfa 806 maint/gnulib/lib/regcomp.c err = create_initial_state (dfa); dfa 814 maint/gnulib/lib/regcomp.c lock_fini (dfa->lock); dfa 815 maint/gnulib/lib/regcomp.c free_dfa_content (dfa); dfa 827 maint/gnulib/lib/regcomp.c init_dfa (re_dfa_t *dfa, size_t pat_len) dfa 845 maint/gnulib/lib/regcomp.c memset (dfa, '\0', sizeof (re_dfa_t)); dfa 848 maint/gnulib/lib/regcomp.c dfa->str_tree_storage_idx = BIN_TREE_STORAGE_SIZE; dfa 858 maint/gnulib/lib/regcomp.c dfa->nodes_alloc = pat_len + 1; dfa 859 maint/gnulib/lib/regcomp.c dfa->nodes = re_malloc (re_token_t, dfa->nodes_alloc); dfa 866 maint/gnulib/lib/regcomp.c dfa->state_table = calloc (sizeof (struct re_state_table_entry), table_size); dfa 867 maint/gnulib/lib/regcomp.c dfa->state_hash_mask = table_size - 1; dfa 869 maint/gnulib/lib/regcomp.c dfa->mb_cur_max = MB_CUR_MAX; dfa 871 maint/gnulib/lib/regcomp.c if (dfa->mb_cur_max == 6 dfa 873 maint/gnulib/lib/regcomp.c dfa->is_utf8 = 1; dfa 874 maint/gnulib/lib/regcomp.c dfa->map_notascii = (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_MAP_TO_NONASCII) dfa 882 maint/gnulib/lib/regcomp.c dfa->is_utf8 = 1; dfa 886 maint/gnulib/lib/regcomp.c dfa->map_notascii = 0; dfa 890 maint/gnulib/lib/regcomp.c if (dfa->mb_cur_max > 1) dfa 892 maint/gnulib/lib/regcomp.c if (dfa->is_utf8) dfa 893 maint/gnulib/lib/regcomp.c dfa->sb_char = (re_bitset_ptr_t) utf8_sb_map; dfa 898 maint/gnulib/lib/regcomp.c dfa->sb_char = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); dfa 899 maint/gnulib/lib/regcomp.c if (__glibc_unlikely (dfa->sb_char == NULL)) dfa 908 maint/gnulib/lib/regcomp.c dfa->sb_char[i] |= (bitset_word_t) 1 << j; dfa 911 maint/gnulib/lib/regcomp.c dfa->map_notascii = 1; dfa 918 maint/gnulib/lib/regcomp.c if (__glibc_unlikely (dfa->nodes == NULL || dfa->state_table == NULL)) dfa 928 maint/gnulib/lib/regcomp.c init_word_char (re_dfa_t *dfa) dfa 933 maint/gnulib/lib/regcomp.c dfa->word_ops_used = 1; dfa 934 maint/gnulib/lib/regcomp.c if (__glibc_likely (dfa->map_notascii == 0)) dfa 945 maint/gnulib/lib/regcomp.c dfa->word_char[0] = bits1 << 31 << 1 | bits0; dfa 946 maint/gnulib/lib/regcomp.c dfa->word_char[1] = bits3 << 31 << 1 | bits2; dfa 951 maint/gnulib/lib/regcomp.c dfa->word_char[0] = bits0; dfa 952 maint/gnulib/lib/regcomp.c dfa->word_char[1] = bits1; dfa 953 maint/gnulib/lib/regcomp.c dfa->word_char[2] = bits2; dfa 954 maint/gnulib/lib/regcomp.c dfa->word_char[3] = bits3; dfa 961 maint/gnulib/lib/regcomp.c if (__glibc_likely (dfa->is_utf8)) dfa 963 maint/gnulib/lib/regcomp.c memset (&dfa->word_char[i], '\0', (SBC_MAX - ch) / 8); dfa 972 maint/gnulib/lib/regcomp.c dfa->word_char[i] |= (bitset_word_t) 1 << j; dfa 980 maint/gnulib/lib/regcomp.c re_dfa_t *dfa = preg->buffer; dfa 982 maint/gnulib/lib/regcomp.c for (storage = dfa->str_tree_storage; storage; storage = next) dfa 987 maint/gnulib/lib/regcomp.c dfa->str_tree_storage = NULL; dfa 988 maint/gnulib/lib/regcomp.c dfa->str_tree_storage_idx = BIN_TREE_STORAGE_SIZE; dfa 989 maint/gnulib/lib/regcomp.c dfa->str_tree = NULL; dfa 990 maint/gnulib/lib/regcomp.c re_free (dfa->org_indices); dfa 991 maint/gnulib/lib/regcomp.c dfa->org_indices = NULL; dfa 997 maint/gnulib/lib/regcomp.c create_initial_state (re_dfa_t *dfa) dfa 1005 maint/gnulib/lib/regcomp.c first = dfa->str_tree->first->node_idx; dfa 1006 maint/gnulib/lib/regcomp.c dfa->init_node = first; dfa 1007 maint/gnulib/lib/regcomp.c err = re_node_set_init_copy (&init_nodes, dfa->eclosures + first); dfa 1015 maint/gnulib/lib/regcomp.c if (dfa->nbackref > 0) dfa 1019 maint/gnulib/lib/regcomp.c re_token_type_t type = dfa->nodes[node_idx].type; dfa 1027 maint/gnulib/lib/regcomp.c clexp_node = dfa->nodes + init_nodes.elems[clexp_idx]; dfa 1029 maint/gnulib/lib/regcomp.c && clexp_node->opr.idx == dfa->nodes[node_idx].opr.idx) dfa 1037 maint/gnulib/lib/regcomp.c Idx dest_idx = dfa->edests[node_idx].elems[0]; dfa 1041 maint/gnulib/lib/regcomp.c = re_node_set_merge (&init_nodes, dfa->eclosures + dest_idx); dfa 1050 maint/gnulib/lib/regcomp.c dfa->init_state = re_acquire_state_context (&err, dfa, &init_nodes, 0); dfa 1052 maint/gnulib/lib/regcomp.c if (__glibc_unlikely (dfa->init_state == NULL)) dfa 1054 maint/gnulib/lib/regcomp.c if (dfa->init_state->has_constraint) dfa 1056 maint/gnulib/lib/regcomp.c dfa->init_state_word = re_acquire_state_context (&err, dfa, &init_nodes, dfa 1058 maint/gnulib/lib/regcomp.c dfa->init_state_nl = re_acquire_state_context (&err, dfa, &init_nodes, dfa 1060 maint/gnulib/lib/regcomp.c dfa->init_state_begbuf = re_acquire_state_context (&err, dfa, dfa 1064 maint/gnulib/lib/regcomp.c if (__glibc_unlikely (dfa->init_state_word == NULL dfa 1065 maint/gnulib/lib/regcomp.c || dfa->init_state_nl == NULL dfa 1066 maint/gnulib/lib/regcomp.c || dfa->init_state_begbuf == NULL)) dfa 1070 maint/gnulib/lib/regcomp.c dfa->init_state_word = dfa->init_state_nl dfa 1071 maint/gnulib/lib/regcomp.c = dfa->init_state_begbuf = dfa->init_state; dfa 1083 maint/gnulib/lib/regcomp.c optimize_utf8 (re_dfa_t *dfa) dfa 1090 maint/gnulib/lib/regcomp.c for (node = 0; node < dfa->nodes_len; ++node) dfa 1091 maint/gnulib/lib/regcomp.c switch (dfa->nodes[node].type) dfa 1094 maint/gnulib/lib/regcomp.c if (dfa->nodes[node].opr.c >= ASCII_CHARS) dfa 1098 maint/gnulib/lib/regcomp.c switch (dfa->nodes[node].opr.ctx_type) dfa 1132 maint/gnulib/lib/regcomp.c if (dfa->nodes[node].opr.sbcset[i] >> rshift != 0) dfa 1143 maint/gnulib/lib/regcomp.c for (node = 0; node < dfa->nodes_len; ++node) dfa 1145 maint/gnulib/lib/regcomp.c if (dfa->nodes[node].type == CHARACTER dfa 1146 maint/gnulib/lib/regcomp.c && dfa->nodes[node].opr.c >= ASCII_CHARS) dfa 1147 maint/gnulib/lib/regcomp.c dfa->nodes[node].mb_partial = 0; dfa 1148 maint/gnulib/lib/regcomp.c else if (dfa->nodes[node].type == OP_PERIOD) dfa 1149 maint/gnulib/lib/regcomp.c dfa->nodes[node].type = OP_UTF8_PERIOD; dfa 1153 maint/gnulib/lib/regcomp.c dfa->mb_cur_max = 1; dfa 1154 maint/gnulib/lib/regcomp.c dfa->is_utf8 = 0; dfa 1155 maint/gnulib/lib/regcomp.c dfa->has_mb_node = dfa->nbackref > 0 || has_period; dfa 1165 maint/gnulib/lib/regcomp.c re_dfa_t *dfa = preg->buffer; dfa 1169 maint/gnulib/lib/regcomp.c dfa->nexts = re_malloc (Idx, dfa->nodes_alloc); dfa 1170 maint/gnulib/lib/regcomp.c dfa->org_indices = re_malloc (Idx, dfa->nodes_alloc); dfa 1171 maint/gnulib/lib/regcomp.c dfa->edests = re_malloc (re_node_set, dfa->nodes_alloc); dfa 1172 maint/gnulib/lib/regcomp.c dfa->eclosures = re_malloc (re_node_set, dfa->nodes_alloc); dfa 1173 maint/gnulib/lib/regcomp.c if (__glibc_unlikely (dfa->nexts == NULL || dfa->org_indices == NULL dfa 1174 maint/gnulib/lib/regcomp.c || dfa->edests == NULL || dfa->eclosures == NULL)) dfa 1177 maint/gnulib/lib/regcomp.c dfa->subexp_map = re_malloc (Idx, preg->re_nsub); dfa 1178 maint/gnulib/lib/regcomp.c if (dfa->subexp_map != NULL) dfa 1182 maint/gnulib/lib/regcomp.c dfa->subexp_map[i] = i; dfa 1183 maint/gnulib/lib/regcomp.c preorder (dfa->str_tree, optimize_subexps, dfa); dfa 1185 maint/gnulib/lib/regcomp.c if (dfa->subexp_map[i] != i) dfa 1189 maint/gnulib/lib/regcomp.c re_free (dfa->subexp_map); dfa 1190 maint/gnulib/lib/regcomp.c dfa->subexp_map = NULL; dfa 1194 maint/gnulib/lib/regcomp.c ret = postorder (dfa->str_tree, lower_subexps, preg); dfa 1197 maint/gnulib/lib/regcomp.c ret = postorder (dfa->str_tree, calc_first, dfa); dfa 1200 maint/gnulib/lib/regcomp.c preorder (dfa->str_tree, calc_next, dfa); dfa 1201 maint/gnulib/lib/regcomp.c ret = preorder (dfa->str_tree, link_nfa_nodes, dfa); dfa 1204 maint/gnulib/lib/regcomp.c ret = calc_eclosure (dfa); dfa 1210 maint/gnulib/lib/regcomp.c if ((!preg->no_sub && preg->re_nsub > 0 && dfa->has_plural_match) dfa 1211 maint/gnulib/lib/regcomp.c || dfa->nbackref) dfa 1213 maint/gnulib/lib/regcomp.c dfa->inveclosures = re_malloc (re_node_set, dfa->nodes_len); dfa 1214 maint/gnulib/lib/regcomp.c if (__glibc_unlikely (dfa->inveclosures == NULL)) dfa 1216 maint/gnulib/lib/regcomp.c ret = calc_inveclosure (dfa); dfa 1293 maint/gnulib/lib/regcomp.c re_dfa_t *dfa = (re_dfa_t *) extra; dfa 1295 maint/gnulib/lib/regcomp.c if (node->token.type == OP_BACK_REF && dfa->subexp_map) dfa 1298 maint/gnulib/lib/regcomp.c node->token.opr.idx = dfa->subexp_map[idx]; dfa 1299 maint/gnulib/lib/regcomp.c dfa->used_bkref_map |= 1 << node->token.opr.idx; dfa 1311 maint/gnulib/lib/regcomp.c dfa->subexp_map[other_idx] = dfa->subexp_map[node->token.opr.idx]; dfa 1313 maint/gnulib/lib/regcomp.c dfa->used_bkref_map &= ~((bitset_word_t) 1 << other_idx); dfa 1346 maint/gnulib/lib/regcomp.c re_dfa_t *dfa = preg->buffer; dfa 1357 maint/gnulib/lib/regcomp.c || !(dfa->used_bkref_map dfa 1363 maint/gnulib/lib/regcomp.c op = create_tree (dfa, NULL, NULL, OP_OPEN_SUBEXP); dfa 1364 maint/gnulib/lib/regcomp.c cls = create_tree (dfa, NULL, NULL, OP_CLOSE_SUBEXP); dfa 1365 maint/gnulib/lib/regcomp.c tree1 = body ? create_tree (dfa, body, cls, CONCAT) : cls; dfa 1366 maint/gnulib/lib/regcomp.c tree = create_tree (dfa, op, tree1, CONCAT); dfa 1384 maint/gnulib/lib/regcomp.c re_dfa_t *dfa = (re_dfa_t *) extra; dfa 1393 maint/gnulib/lib/regcomp.c node->node_idx = re_dfa_add_node (dfa, node->token); dfa 1397 maint/gnulib/lib/regcomp.c dfa->nodes[node->node_idx].constraint = node->token.opr.ctx_type; dfa 1429 maint/gnulib/lib/regcomp.c re_dfa_t *dfa = (re_dfa_t *) extra; dfa 1446 maint/gnulib/lib/regcomp.c dfa->has_plural_match = 1; dfa 1457 maint/gnulib/lib/regcomp.c err = re_node_set_init_2 (dfa->edests + idx, left, right); dfa 1464 maint/gnulib/lib/regcomp.c err = re_node_set_init_1 (dfa->edests + idx, node->next->node_idx); dfa 1468 maint/gnulib/lib/regcomp.c dfa->nexts[idx] = node->next->node_idx; dfa 1470 maint/gnulib/lib/regcomp.c err = re_node_set_init_1 (dfa->edests + idx, dfa->nexts[idx]); dfa 1475 maint/gnulib/lib/regcomp.c dfa->nexts[idx] = node->next->node_idx; dfa 1487 maint/gnulib/lib/regcomp.c duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node, dfa 1496 maint/gnulib/lib/regcomp.c if (dfa->nodes[org_node].type == OP_BACK_REF) dfa 1502 maint/gnulib/lib/regcomp.c org_dest = dfa->nexts[org_node]; dfa 1503 maint/gnulib/lib/regcomp.c re_node_set_empty (dfa->edests + clone_node); dfa 1504 maint/gnulib/lib/regcomp.c clone_dest = duplicate_node (dfa, org_dest, constraint); dfa 1507 maint/gnulib/lib/regcomp.c dfa->nexts[clone_node] = dfa->nexts[org_node]; dfa 1508 maint/gnulib/lib/regcomp.c ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); dfa 1512 maint/gnulib/lib/regcomp.c else if (dfa->edests[org_node].nelem == 0) dfa 1517 maint/gnulib/lib/regcomp.c dfa->nexts[clone_node] = dfa->nexts[org_node]; dfa 1520 maint/gnulib/lib/regcomp.c else if (dfa->edests[org_node].nelem == 1) dfa 1524 maint/gnulib/lib/regcomp.c org_dest = dfa->edests[org_node].elems[0]; dfa 1525 maint/gnulib/lib/regcomp.c re_node_set_empty (dfa->edests + clone_node); dfa 1530 maint/gnulib/lib/regcomp.c ok = re_node_set_insert (dfa->edests + clone_node, org_dest); dfa 1536 maint/gnulib/lib/regcomp.c constraint |= dfa->nodes[org_node].constraint; dfa 1537 maint/gnulib/lib/regcomp.c clone_dest = duplicate_node (dfa, org_dest, constraint); dfa 1540 maint/gnulib/lib/regcomp.c ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); dfa 1548 maint/gnulib/lib/regcomp.c org_dest = dfa->edests[org_node].elems[0]; dfa 1549 maint/gnulib/lib/regcomp.c re_node_set_empty (dfa->edests + clone_node); dfa 1551 maint/gnulib/lib/regcomp.c clone_dest = search_duplicated_node (dfa, org_dest, constraint); dfa 1556 maint/gnulib/lib/regcomp.c clone_dest = duplicate_node (dfa, org_dest, constraint); dfa 1559 maint/gnulib/lib/regcomp.c ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); dfa 1562 maint/gnulib/lib/regcomp.c err = duplicate_node_closure (dfa, org_dest, clone_dest, dfa 1571 maint/gnulib/lib/regcomp.c ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); dfa 1576 maint/gnulib/lib/regcomp.c org_dest = dfa->edests[org_node].elems[1]; dfa 1577 maint/gnulib/lib/regcomp.c clone_dest = duplicate_node (dfa, org_dest, constraint); dfa 1580 maint/gnulib/lib/regcomp.c ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); dfa 1594 maint/gnulib/lib/regcomp.c search_duplicated_node (const re_dfa_t *dfa, Idx org_node, dfa 1598 maint/gnulib/lib/regcomp.c for (idx = dfa->nodes_len - 1; dfa->nodes[idx].duplicated && idx > 0; --idx) dfa 1600 maint/gnulib/lib/regcomp.c if (org_node == dfa->org_indices[idx] dfa 1601 maint/gnulib/lib/regcomp.c && constraint == dfa->nodes[idx].constraint) dfa 1612 maint/gnulib/lib/regcomp.c duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint) dfa 1614 maint/gnulib/lib/regcomp.c Idx dup_idx = re_dfa_add_node (dfa, dfa->nodes[org_idx]); dfa 1617 maint/gnulib/lib/regcomp.c dfa->nodes[dup_idx].constraint = constraint; dfa 1618 maint/gnulib/lib/regcomp.c dfa->nodes[dup_idx].constraint |= dfa->nodes[org_idx].constraint; dfa 1619 maint/gnulib/lib/regcomp.c dfa->nodes[dup_idx].duplicated = 1; dfa 1622 maint/gnulib/lib/regcomp.c dfa->org_indices[dup_idx] = org_idx; dfa 1628 maint/gnulib/lib/regcomp.c calc_inveclosure (re_dfa_t *dfa) dfa 1632 maint/gnulib/lib/regcomp.c for (idx = 0; idx < dfa->nodes_len; ++idx) dfa 1633 maint/gnulib/lib/regcomp.c re_node_set_init_empty (dfa->inveclosures + idx); dfa 1635 maint/gnulib/lib/regcomp.c for (src = 0; src < dfa->nodes_len; ++src) dfa 1637 maint/gnulib/lib/regcomp.c Idx *elems = dfa->eclosures[src].elems; dfa 1638 maint/gnulib/lib/regcomp.c for (idx = 0; idx < dfa->eclosures[src].nelem; ++idx) dfa 1640 maint/gnulib/lib/regcomp.c ok = re_node_set_insert_last (dfa->inveclosures + elems[idx], src); dfa 1652 maint/gnulib/lib/regcomp.c calc_eclosure (re_dfa_t *dfa) dfa 1656 maint/gnulib/lib/regcomp.c DEBUG_ASSERT (dfa->nodes_len > 0); dfa 1663 maint/gnulib/lib/regcomp.c if (node_idx == dfa->nodes_len) dfa 1671 maint/gnulib/lib/regcomp.c DEBUG_ASSERT (dfa->eclosures[node_idx].nelem != -1); dfa 1674 maint/gnulib/lib/regcomp.c if (dfa->eclosures[node_idx].nelem != 0) dfa 1677 maint/gnulib/lib/regcomp.c err = calc_eclosure_iter (&eclosure_elem, dfa, node_idx, true); dfa 1681 maint/gnulib/lib/regcomp.c if (dfa->eclosures[node_idx].nelem == 0) dfa 1693 maint/gnulib/lib/regcomp.c calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root) dfa 1699 maint/gnulib/lib/regcomp.c err = re_node_set_alloc (&eclosure, dfa->edests[node].nelem + 1); dfa 1708 maint/gnulib/lib/regcomp.c dfa->eclosures[node].nelem = -1; dfa 1712 maint/gnulib/lib/regcomp.c if (dfa->nodes[node].constraint dfa 1713 maint/gnulib/lib/regcomp.c && dfa->edests[node].nelem dfa 1714 maint/gnulib/lib/regcomp.c && !dfa->nodes[dfa->edests[node].elems[0]].duplicated) dfa 1716 maint/gnulib/lib/regcomp.c err = duplicate_node_closure (dfa, node, node, node, dfa 1717 maint/gnulib/lib/regcomp.c dfa->nodes[node].constraint); dfa 1723 maint/gnulib/lib/regcomp.c if (IS_EPSILON_NODE(dfa->nodes[node].type)) dfa 1724 maint/gnulib/lib/regcomp.c for (i = 0; i < dfa->edests[node].nelem; ++i) dfa 1727 maint/gnulib/lib/regcomp.c Idx edest = dfa->edests[node].elems[i]; dfa 1730 maint/gnulib/lib/regcomp.c if (dfa->eclosures[edest].nelem == -1) dfa 1737 maint/gnulib/lib/regcomp.c if (dfa->eclosures[edest].nelem == 0) dfa 1739 maint/gnulib/lib/regcomp.c err = calc_eclosure_iter (&eclosure_elem, dfa, edest, false); dfa 1744 maint/gnulib/lib/regcomp.c eclosure_elem = dfa->eclosures[edest]; dfa 1751 maint/gnulib/lib/regcomp.c if (dfa->eclosures[edest].nelem == 0) dfa 1759 maint/gnulib/lib/regcomp.c dfa->eclosures[node].nelem = 0; dfa 1761 maint/gnulib/lib/regcomp.c dfa->eclosures[node] = eclosure; dfa 2120 maint/gnulib/lib/regcomp.c re_dfa_t *dfa = preg->buffer; dfa 2123 maint/gnulib/lib/regcomp.c dfa->syntax = syntax; dfa 2128 maint/gnulib/lib/regcomp.c eor = create_tree (dfa, NULL, NULL, END_OF_RE); dfa 2130 maint/gnulib/lib/regcomp.c root = create_tree (dfa, tree, eor, CONCAT); dfa 2154 maint/gnulib/lib/regcomp.c re_dfa_t *dfa = preg->buffer; dfa 2156 maint/gnulib/lib/regcomp.c bitset_word_t initial_bkref_map = dfa->completed_bkref_map; dfa 2167 maint/gnulib/lib/regcomp.c bitset_word_t accumulated_bkref_map = dfa->completed_bkref_map; dfa 2168 maint/gnulib/lib/regcomp.c dfa->completed_bkref_map = initial_bkref_map; dfa 2176 maint/gnulib/lib/regcomp.c dfa->completed_bkref_map |= accumulated_bkref_map; dfa 2180 maint/gnulib/lib/regcomp.c tree = create_tree (dfa, tree, branch, OP_ALT); dfa 2204 maint/gnulib/lib/regcomp.c re_dfa_t *dfa = preg->buffer; dfa 2221 maint/gnulib/lib/regcomp.c bin_tree_t *newtree = create_tree (dfa, tree, expr, CONCAT); dfa 2248 maint/gnulib/lib/regcomp.c re_dfa_t *dfa = preg->buffer; dfa 2253 maint/gnulib/lib/regcomp.c tree = create_token_tree (dfa, NULL, NULL, token); dfa 2260 maint/gnulib/lib/regcomp.c if (dfa->mb_cur_max > 1) dfa 2267 maint/gnulib/lib/regcomp.c mbc_remain = create_token_tree (dfa, NULL, NULL, token); dfa 2268 maint/gnulib/lib/regcomp.c tree = create_tree (dfa, tree, mbc_remain, CONCAT); dfa 2286 maint/gnulib/lib/regcomp.c tree = parse_bracket_exp (regexp, dfa, token, syntax, err); dfa 2292 maint/gnulib/lib/regcomp.c if (!__glibc_likely (dfa->completed_bkref_map & (1 << token->opr.idx))) dfa 2297 maint/gnulib/lib/regcomp.c dfa->used_bkref_map |= 1 << token->opr.idx; dfa 2298 maint/gnulib/lib/regcomp.c tree = create_token_tree (dfa, NULL, NULL, token); dfa 2304 maint/gnulib/lib/regcomp.c ++dfa->nbackref; dfa 2305 maint/gnulib/lib/regcomp.c dfa->has_mb_node = 1; dfa 2344 maint/gnulib/lib/regcomp.c tree = create_token_tree (dfa, NULL, NULL, token); dfa 2355 maint/gnulib/lib/regcomp.c && dfa->word_ops_used == 0) dfa 2356 maint/gnulib/lib/regcomp.c init_word_char (dfa); dfa 2364 maint/gnulib/lib/regcomp.c tree_first = create_token_tree (dfa, NULL, NULL, token); dfa 2370 maint/gnulib/lib/regcomp.c tree_first = create_token_tree (dfa, NULL, NULL, token); dfa 2373 maint/gnulib/lib/regcomp.c tree_last = create_token_tree (dfa, NULL, NULL, token); dfa 2374 maint/gnulib/lib/regcomp.c tree = create_tree (dfa, tree_first, tree_last, OP_ALT); dfa 2384 maint/gnulib/lib/regcomp.c tree = create_token_tree (dfa, NULL, NULL, token); dfa 2399 maint/gnulib/lib/regcomp.c tree = create_token_tree (dfa, NULL, NULL, token); dfa 2405 maint/gnulib/lib/regcomp.c if (dfa->mb_cur_max > 1) dfa 2406 maint/gnulib/lib/regcomp.c dfa->has_mb_node = 1; dfa 2411 maint/gnulib/lib/regcomp.c tree = build_charclass_op (dfa, regexp->trans, dfa 2421 maint/gnulib/lib/regcomp.c tree = build_charclass_op (dfa, regexp->trans, dfa 2447 maint/gnulib/lib/regcomp.c bin_tree_t *dup_tree = parse_dup_op (tree, regexp, dfa, token, dfa 2482 maint/gnulib/lib/regcomp.c re_dfa_t *dfa = preg->buffer; dfa 2507 maint/gnulib/lib/regcomp.c dfa->completed_bkref_map |= 1 << cur_nsub; dfa 2509 maint/gnulib/lib/regcomp.c tree = create_tree (dfa, tree, NULL, SUBEXP); dfa 2522 maint/gnulib/lib/regcomp.c parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa, dfa 2608 maint/gnulib/lib/regcomp.c elem = duplicate_tree (elem, dfa); dfa 2609 maint/gnulib/lib/regcomp.c tree = create_tree (dfa, tree, elem, CONCAT); dfa 2618 maint/gnulib/lib/regcomp.c elem = duplicate_tree (elem, dfa); dfa 2632 maint/gnulib/lib/regcomp.c tree = create_tree (dfa, elem, NULL, dfa 2643 maint/gnulib/lib/regcomp.c elem = duplicate_tree (elem, dfa); dfa 2644 maint/gnulib/lib/regcomp.c tree = create_tree (dfa, tree, elem, CONCAT); dfa 2648 maint/gnulib/lib/regcomp.c tree = create_tree (dfa, tree, NULL, OP_ALT); dfa 2654 maint/gnulib/lib/regcomp.c tree = create_tree (dfa, old_tree, tree, CONCAT); dfa 2838 maint/gnulib/lib/regcomp.c parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, dfa 2980 maint/gnulib/lib/regcomp.c if (nrules > 0 || dfa->mb_cur_max > 1) dfa 3177 maint/gnulib/lib/regcomp.c ret = parse_bracket_element (&start_elem, regexp, token, token_len, dfa, dfa 3222 maint/gnulib/lib/regcomp.c dfa, syntax, true); dfa 3237 maint/gnulib/lib/regcomp.c dfa->mb_cur_max > 1 ? mbcset : NULL, dfa 3322 maint/gnulib/lib/regcomp.c if (dfa->mb_cur_max > 1) dfa 3323 maint/gnulib/lib/regcomp.c bitset_mask (sbcset, dfa->sb_char); dfa 3326 maint/gnulib/lib/regcomp.c || mbcset->nranges || (dfa->mb_cur_max > 1 && (mbcset->nchar_classes dfa 3332 maint/gnulib/lib/regcomp.c dfa->has_mb_node = 1; dfa 3335 maint/gnulib/lib/regcomp.c mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token); dfa 3348 maint/gnulib/lib/regcomp.c work_tree = create_token_tree (dfa, NULL, NULL, &br_token); dfa 3353 maint/gnulib/lib/regcomp.c work_tree = create_tree (dfa, work_tree, mbc_tree, OP_ALT); dfa 3372 maint/gnulib/lib/regcomp.c work_tree = create_token_tree (dfa, NULL, NULL, &br_token); dfa 3392 maint/gnulib/lib/regcomp.c re_token_t *token, int token_len, re_dfa_t *dfa, dfa 3646 maint/gnulib/lib/regcomp.c build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, dfa 3702 maint/gnulib/lib/regcomp.c if (dfa->mb_cur_max > 1) dfa 3703 maint/gnulib/lib/regcomp.c bitset_mask (sbcset, dfa->sb_char); dfa 3708 maint/gnulib/lib/regcomp.c tree = create_token_tree (dfa, NULL, NULL, &br_token); dfa 3713 maint/gnulib/lib/regcomp.c if (dfa->mb_cur_max > 1) dfa 3719 maint/gnulib/lib/regcomp.c dfa->has_mb_node = 1; dfa 3720 maint/gnulib/lib/regcomp.c mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token); dfa 3724 maint/gnulib/lib/regcomp.c tree = create_tree (dfa, tree, mbc_tree, OP_ALT); dfa 3795 maint/gnulib/lib/regcomp.c create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, dfa 3799 maint/gnulib/lib/regcomp.c return create_token_tree (dfa, left, right, &t); dfa 3803 maint/gnulib/lib/regcomp.c create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, dfa 3807 maint/gnulib/lib/regcomp.c if (__glibc_unlikely (dfa->str_tree_storage_idx == BIN_TREE_STORAGE_SIZE)) dfa 3813 maint/gnulib/lib/regcomp.c storage->next = dfa->str_tree_storage; dfa 3814 maint/gnulib/lib/regcomp.c dfa->str_tree_storage = storage; dfa 3815 maint/gnulib/lib/regcomp.c dfa->str_tree_storage_idx = 0; dfa 3817 maint/gnulib/lib/regcomp.c tree = &dfa->str_tree_storage->data[dfa->str_tree_storage_idx++]; dfa 3880 maint/gnulib/lib/regcomp.c duplicate_tree (const bin_tree_t *root, re_dfa_t *dfa) dfa 3889 maint/gnulib/lib/regcomp.c *p_new = create_token_tree (dfa, NULL, NULL, &node->token); dfa 23 maint/gnulib/lib/regex_internal.c const re_dfa_t *dfa); dfa 24 maint/gnulib/lib/regex_internal.c static re_dfastate_t *create_ci_newstate (const re_dfa_t *dfa, dfa 27 maint/gnulib/lib/regex_internal.c static re_dfastate_t *create_cd_newstate (const re_dfa_t *dfa, dfa 50 maint/gnulib/lib/regex_internal.c RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) dfa 56 maint/gnulib/lib/regex_internal.c if (init_len < dfa->mb_cur_max) dfa 57 maint/gnulib/lib/regex_internal.c init_len = dfa->mb_cur_max; dfa 59 maint/gnulib/lib/regex_internal.c re_string_construct_common (str, len, pstr, trans, icase, dfa); dfa 65 maint/gnulib/lib/regex_internal.c pstr->word_char = dfa->word_char; dfa 66 maint/gnulib/lib/regex_internal.c pstr->word_ops_used = dfa->word_ops_used; dfa 68 maint/gnulib/lib/regex_internal.c pstr->valid_len = (pstr->mbs_allocated || dfa->mb_cur_max > 1) ? 0 : len; dfa 78 maint/gnulib/lib/regex_internal.c RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) dfa 82 maint/gnulib/lib/regex_internal.c re_string_construct_common (str, len, pstr, trans, icase, dfa); dfa 95 maint/gnulib/lib/regex_internal.c if (dfa->mb_cur_max > 1) dfa 104 maint/gnulib/lib/regex_internal.c if (pstr->bufs_len > pstr->valid_len + dfa->mb_cur_max) dfa 118 maint/gnulib/lib/regex_internal.c if (dfa->mb_cur_max > 1) dfa 182 maint/gnulib/lib/regex_internal.c const re_dfa_t *dfa) dfa 190 maint/gnulib/lib/regex_internal.c pstr->mb_cur_max = dfa->mb_cur_max; dfa 191 maint/gnulib/lib/regex_internal.c pstr->is_utf8 = dfa->is_utf8; dfa 192 maint/gnulib/lib/regex_internal.c pstr->map_notascii = dfa->map_notascii; dfa 1412 maint/gnulib/lib/regex_internal.c re_dfa_add_node (re_dfa_t *dfa, re_token_t token) dfa 1414 maint/gnulib/lib/regex_internal.c if (__glibc_unlikely (dfa->nodes_len >= dfa->nodes_alloc)) dfa 1416 maint/gnulib/lib/regex_internal.c size_t new_nodes_alloc = dfa->nodes_alloc * 2; dfa 1429 maint/gnulib/lib/regex_internal.c new_nodes = re_realloc (dfa->nodes, re_token_t, new_nodes_alloc); dfa 1432 maint/gnulib/lib/regex_internal.c dfa->nodes = new_nodes; dfa 1433 maint/gnulib/lib/regex_internal.c new_nexts = re_realloc (dfa->nexts, Idx, new_nodes_alloc); dfa 1434 maint/gnulib/lib/regex_internal.c new_indices = re_realloc (dfa->org_indices, Idx, new_nodes_alloc); dfa 1435 maint/gnulib/lib/regex_internal.c new_edests = re_realloc (dfa->edests, re_node_set, new_nodes_alloc); dfa 1436 maint/gnulib/lib/regex_internal.c new_eclosures = re_realloc (dfa->eclosures, re_node_set, new_nodes_alloc); dfa 1446 maint/gnulib/lib/regex_internal.c dfa->nexts = new_nexts; dfa 1447 maint/gnulib/lib/regex_internal.c dfa->org_indices = new_indices; dfa 1448 maint/gnulib/lib/regex_internal.c dfa->edests = new_edests; dfa 1449 maint/gnulib/lib/regex_internal.c dfa->eclosures = new_eclosures; dfa 1450 maint/gnulib/lib/regex_internal.c dfa->nodes_alloc = new_nodes_alloc; dfa 1452 maint/gnulib/lib/regex_internal.c dfa->nodes[dfa->nodes_len] = token; dfa 1453 maint/gnulib/lib/regex_internal.c dfa->nodes[dfa->nodes_len].constraint = 0; dfa 1455 maint/gnulib/lib/regex_internal.c dfa->nodes[dfa->nodes_len].accept_mb = dfa 1456 maint/gnulib/lib/regex_internal.c ((token.type == OP_PERIOD && dfa->mb_cur_max > 1) dfa 1459 maint/gnulib/lib/regex_internal.c dfa->nexts[dfa->nodes_len] = -1; dfa 1460 maint/gnulib/lib/regex_internal.c re_node_set_init_empty (dfa->edests + dfa->nodes_len); dfa 1461 maint/gnulib/lib/regex_internal.c re_node_set_init_empty (dfa->eclosures + dfa->nodes_len); dfa 1462 maint/gnulib/lib/regex_internal.c return dfa->nodes_len++; dfa 1486 maint/gnulib/lib/regex_internal.c re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa, dfa 1503 maint/gnulib/lib/regex_internal.c spot = dfa->state_table + (hash & dfa->state_hash_mask); dfa 1515 maint/gnulib/lib/regex_internal.c new_state = create_ci_newstate (dfa, nodes, hash); dfa 1534 maint/gnulib/lib/regex_internal.c re_acquire_state_context (reg_errcode_t *err, const re_dfa_t *dfa, dfa 1551 maint/gnulib/lib/regex_internal.c spot = dfa->state_table + (hash & dfa->state_hash_mask); dfa 1562 maint/gnulib/lib/regex_internal.c new_state = create_cd_newstate (dfa, nodes, context, hash); dfa 1575 maint/gnulib/lib/regex_internal.c register_state (const re_dfa_t *dfa, re_dfastate_t *newstate, dfa 1589 maint/gnulib/lib/regex_internal.c if (!IS_EPSILON_NODE (dfa->nodes[elem].type)) dfa 1594 maint/gnulib/lib/regex_internal.c spot = dfa->state_table + (hash & dfa->state_hash_mask); dfa 1630 maint/gnulib/lib/regex_internal.c create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes, dfa 1650 maint/gnulib/lib/regex_internal.c re_token_t *node = dfa->nodes + nodes->elems[i]; dfa 1666 maint/gnulib/lib/regex_internal.c err = register_state (dfa, newstate, hash); dfa 1680 maint/gnulib/lib/regex_internal.c create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes, dfa 1702 maint/gnulib/lib/regex_internal.c re_token_t *node = dfa->nodes + nodes->elems[i]; dfa 1746 maint/gnulib/lib/regex_internal.c err = register_state (dfa, newstate, hash); dfa 75 maint/gnulib/lib/regex_internal.h # define lock_lock(lock) ((void) dfa) dfa 595 maint/gnulib/lib/regex_internal.h const re_dfa_t *const dfa; dfa 57 maint/gnulib/lib/regexec.c static void update_regs (const re_dfa_t *dfa, regmatch_t *pmatch, dfa 84 maint/gnulib/lib/regexec.c static reg_errcode_t add_epsilon_src_nodes (const re_dfa_t *dfa, dfa 98 maint/gnulib/lib/regexec.c static reg_errcode_t check_subexp_limits (const re_dfa_t *dfa, dfa 107 maint/gnulib/lib/regexec.c static reg_errcode_t merge_state_array (const re_dfa_t *dfa, dfa 138 maint/gnulib/lib/regexec.c static Idx find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes, dfa 148 maint/gnulib/lib/regexec.c static reg_errcode_t check_arrival_expand_ecl (const re_dfa_t *dfa, dfa 151 maint/gnulib/lib/regexec.c static reg_errcode_t check_arrival_expand_ecl_sub (const re_dfa_t *dfa, dfa 158 maint/gnulib/lib/regexec.c static bool build_trtable (const re_dfa_t *dfa, re_dfastate_t *state); dfa 160 maint/gnulib/lib/regexec.c static int check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, dfa 167 maint/gnulib/lib/regexec.c static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa, dfa 198 maint/gnulib/lib/regexec.c re_dfa_t *dfa = preg->buffer; dfa 214 maint/gnulib/lib/regexec.c lock_lock (dfa->lock); dfa 221 maint/gnulib/lib/regexec.c lock_unlock (dfa->lock); dfa 378 maint/gnulib/lib/regexec.c re_dfa_t *dfa = bufp->buffer; dfa 391 maint/gnulib/lib/regexec.c lock_lock (dfa->lock); dfa 455 maint/gnulib/lib/regexec.c lock_unlock (dfa->lock); dfa 591 maint/gnulib/lib/regexec.c const re_dfa_t *dfa = preg->buffer; dfa 601 maint/gnulib/lib/regexec.c re_match_context_t mctx = { .dfa = dfa }; dfa 611 maint/gnulib/lib/regexec.c if (__glibc_unlikely (preg->used == 0 || dfa->init_state == NULL dfa 612 maint/gnulib/lib/regexec.c || dfa->init_state_word == NULL dfa 613 maint/gnulib/lib/regexec.c || dfa->init_state_nl == NULL dfa 614 maint/gnulib/lib/regexec.c || dfa->init_state_begbuf == NULL)) dfa 623 maint/gnulib/lib/regexec.c if (dfa->init_state->nodes.nelem == 0 dfa 624 maint/gnulib/lib/regexec.c && dfa->init_state_word->nodes.nelem == 0 dfa 625 maint/gnulib/lib/regexec.c && (dfa->init_state_nl->nodes.nelem == 0 dfa 634 maint/gnulib/lib/regexec.c fl_longest_match = (nmatch != 0 || dfa->nbackref); dfa 636 maint/gnulib/lib/regexec.c err = re_string_allocate (&mctx.input, string, length, dfa->nodes_len + 1, dfa 638 maint/gnulib/lib/regexec.c dfa); dfa 645 maint/gnulib/lib/regexec.c err = match_ctx_init (&mctx, eflags, dfa->nbackref * 2); dfa 653 maint/gnulib/lib/regexec.c if (nmatch > 1 || dfa->has_mb_node) dfa 679 maint/gnulib/lib/regexec.c sb = dfa->mb_cur_max == 1; dfa 805 maint/gnulib/lib/regexec.c if ((!preg->no_sub && nmatch > 1) || dfa->nbackref) dfa 811 maint/gnulib/lib/regexec.c if ((!preg->no_sub && nmatch > 1 && dfa->has_plural_match) dfa 812 maint/gnulib/lib/regexec.c || dfa->nbackref) dfa 851 maint/gnulib/lib/regexec.c dfa->has_plural_match && dfa->nbackref > 0); dfa 886 maint/gnulib/lib/regexec.c if (dfa->subexp_map) dfa 888 maint/gnulib/lib/regexec.c if (dfa->subexp_map[reg_idx] != reg_idx) dfa 891 maint/gnulib/lib/regexec.c = pmatch[dfa->subexp_map[reg_idx] + 1].rm_so; dfa 893 maint/gnulib/lib/regexec.c = pmatch[dfa->subexp_map[reg_idx] + 1].rm_eo; dfa 899 maint/gnulib/lib/regexec.c if (dfa->nbackref) dfa 909 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 930 maint/gnulib/lib/regexec.c if (dfa->nbackref) dfa 964 maint/gnulib/lib/regexec.c ret = merge_state_array (dfa, sifted_states, lim_states, dfa 1005 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 1006 maint/gnulib/lib/regexec.c if (dfa->init_state->has_constraint) dfa 1011 maint/gnulib/lib/regexec.c return dfa->init_state_word; dfa 1013 maint/gnulib/lib/regexec.c return dfa->init_state; dfa 1015 maint/gnulib/lib/regexec.c return dfa->init_state_begbuf; dfa 1017 maint/gnulib/lib/regexec.c return dfa->init_state_nl; dfa 1021 maint/gnulib/lib/regexec.c return re_acquire_state_context (err, dfa, dfa 1022 maint/gnulib/lib/regexec.c dfa->init_state->entrance_nodes, dfa 1027 maint/gnulib/lib/regexec.c return dfa->init_state; dfa 1030 maint/gnulib/lib/regexec.c return dfa->init_state; dfa 1047 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 1071 maint/gnulib/lib/regexec.c if (__glibc_unlikely (dfa->nbackref)) dfa 1176 maint/gnulib/lib/regexec.c check_halt_node_context (const re_dfa_t *dfa, Idx node, unsigned int context) dfa 1178 maint/gnulib/lib/regexec.c re_token_type_t type = dfa->nodes[node].type; dfa 1179 maint/gnulib/lib/regexec.c unsigned int constraint = dfa->nodes[node].constraint; dfa 1202 maint/gnulib/lib/regexec.c if (check_halt_node_context (mctx->dfa, state->nodes.elems[i], context)) dfa 1218 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 1219 maint/gnulib/lib/regexec.c if (IS_EPSILON_NODE (dfa->nodes[node].type)) dfa 1222 maint/gnulib/lib/regexec.c re_node_set *edests = &dfa->edests[node]; dfa 1263 maint/gnulib/lib/regexec.c re_token_type_t type = dfa->nodes[node].type; dfa 1266 maint/gnulib/lib/regexec.c if (dfa->nodes[node].accept_mb) dfa 1267 maint/gnulib/lib/regexec.c naccepted = check_node_accept_bytes (dfa, node, &mctx->input, *pidx); dfa 1272 maint/gnulib/lib/regexec.c Idx subexp_idx = dfa->nodes[node].opr.idx + 1; dfa 1298 maint/gnulib/lib/regexec.c dest_node = dfa->edests[node].elems[0]; dfa 1306 maint/gnulib/lib/regexec.c || check_node_accept (mctx, dfa->nodes + node, *pidx)) dfa 1308 maint/gnulib/lib/regexec.c Idx dest_node = dfa->nexts[node]; dfa 1384 maint/gnulib/lib/regexec.c const re_dfa_t *dfa = preg->buffer; dfa 1404 maint/gnulib/lib/regexec.c cur_node = dfa->init_node; dfa 1418 maint/gnulib/lib/regexec.c update_regs (dfa, pmatch, prev_idx_match, cur_node, idx, nmatch); dfa 1490 maint/gnulib/lib/regexec.c update_regs (const re_dfa_t *dfa, regmatch_t *pmatch, dfa 1493 maint/gnulib/lib/regexec.c int type = dfa->nodes[cur_node].type; dfa 1496 maint/gnulib/lib/regexec.c Idx reg_num = dfa->nodes[cur_node].opr.idx + 1; dfa 1508 maint/gnulib/lib/regexec.c Idx reg_num = dfa->nodes[cur_node].opr.idx + 1; dfa 1520 maint/gnulib/lib/regexec.c if (dfa->nodes[cur_node].opt_subexp dfa 1620 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 1636 maint/gnulib/lib/regexec.c DEBUG_ASSERT (!IS_EPSILON_NODE (dfa->nodes[prev_node].type)); dfa 1640 maint/gnulib/lib/regexec.c if (dfa->nodes[prev_node].accept_mb) dfa 1648 maint/gnulib/lib/regexec.c && check_node_accept (mctx, dfa->nodes + prev_node, str_idx) dfa 1650 maint/gnulib/lib/regexec.c dfa->nexts[prev_node])) dfa 1660 maint/gnulib/lib/regexec.c dfa->nexts[prev_node], to_idx, dfa 1700 maint/gnulib/lib/regexec.c merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst, dfa 1716 maint/gnulib/lib/regexec.c dst[st_idx] = re_acquire_state (&err, dfa, &merged_set); dfa 1730 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 1744 maint/gnulib/lib/regexec.c err = add_epsilon_src_nodes (dfa, dest_nodes, candidates); dfa 1751 maint/gnulib/lib/regexec.c err = check_subexp_limits (dfa, dest_nodes, candidates, &sctx->limits, dfa 1758 maint/gnulib/lib/regexec.c sctx->sifted_states[str_idx] = re_acquire_state (&err, dfa, dest_nodes); dfa 1774 maint/gnulib/lib/regexec.c add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes, dfa 1780 maint/gnulib/lib/regexec.c re_dfastate_t *state = re_acquire_state (&err, dfa, dest_nodes); dfa 1792 maint/gnulib/lib/regexec.c dfa->inveclosures + dest_nodes->elems[i]); dfa 1802 maint/gnulib/lib/regexec.c sub_epsilon_src_nodes (const re_dfa_t *dfa, Idx node, re_node_set *dest_nodes, dfa 1807 maint/gnulib/lib/regexec.c re_node_set *inv_eclosure = dfa->inveclosures + node; dfa 1815 maint/gnulib/lib/regexec.c if (IS_EPSILON_NODE (dfa->nodes[cur_node].type)) dfa 1817 maint/gnulib/lib/regexec.c Idx edst1 = dfa->edests[cur_node].elems[0]; dfa 1818 maint/gnulib/lib/regexec.c Idx edst2 = ((dfa->edests[cur_node].nelem > 1) dfa 1819 maint/gnulib/lib/regexec.c ? dfa->edests[cur_node].elems[1] : -1); dfa 1827 maint/gnulib/lib/regexec.c dfa->inveclosures + cur_node); dfa 1853 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 1863 maint/gnulib/lib/regexec.c subexp_idx = dfa->nodes[ent->node].opr.idx; dfa 1888 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 1889 maint/gnulib/lib/regexec.c const re_node_set *eclosures = dfa->eclosures + from_node; dfa 1897 maint/gnulib/lib/regexec.c switch (dfa->nodes[node].type) dfa 1922 maint/gnulib/lib/regexec.c dst = dfa->edests[node].elems[0]; dfa 1948 maint/gnulib/lib/regexec.c if ((boundaries & 1) && subexp_idx == dfa->nodes[node].opr.idx) dfa 1953 maint/gnulib/lib/regexec.c if ((boundaries & 2) && subexp_idx == dfa->nodes[node].opr.idx) dfa 1995 maint/gnulib/lib/regexec.c check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes, dfa 2011 maint/gnulib/lib/regexec.c subexp_idx = dfa->nodes[ent->node].opr.idx; dfa 2019 maint/gnulib/lib/regexec.c re_token_type_t type = dfa->nodes[node].type; dfa 2021 maint/gnulib/lib/regexec.c && subexp_idx == dfa->nodes[node].opr.idx) dfa 2024 maint/gnulib/lib/regexec.c && subexp_idx == dfa->nodes[node].opr.idx) dfa 2032 maint/gnulib/lib/regexec.c err = sub_epsilon_src_nodes (dfa, ops_node, dest_nodes, dfa 2043 maint/gnulib/lib/regexec.c if (!re_node_set_contains (dfa->inveclosures + node, dfa 2045 maint/gnulib/lib/regexec.c && !re_node_set_contains (dfa->eclosures + node, dfa 2050 maint/gnulib/lib/regexec.c err = sub_epsilon_src_nodes (dfa, node, dest_nodes, dfa 2063 maint/gnulib/lib/regexec.c re_token_type_t type = dfa->nodes[node].type; dfa 2066 maint/gnulib/lib/regexec.c if (subexp_idx != dfa->nodes[node].opr.idx) dfa 2070 maint/gnulib/lib/regexec.c err = sub_epsilon_src_nodes (dfa, node, dest_nodes, dfa 2086 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 2103 maint/gnulib/lib/regexec.c type = dfa->nodes[node].type; dfa 2124 maint/gnulib/lib/regexec.c dst_node = (subexp_len ? dfa->nexts[node] dfa 2125 maint/gnulib/lib/regexec.c : dfa->edests[node].elems[0]); dfa 2155 maint/gnulib/lib/regexec.c err = merge_state_array (dfa, sctx->limited_states, dfa 2185 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 2188 maint/gnulib/lib/regexec.c naccepted = check_node_accept_bytes (dfa, node_idx, &mctx->input, str_idx); dfa 2191 maint/gnulib/lib/regexec.c dfa->nexts[node_idx])) dfa 2258 maint/gnulib/lib/regexec.c if (!build_trtable (mctx->dfa, state)) dfa 2273 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 2313 maint/gnulib/lib/regexec.c = re_acquire_state_context (err, dfa, &next_nodes, context); dfa 2321 maint/gnulib/lib/regexec.c if (__glibc_unlikely (dfa->nbackref) && next_state != NULL) dfa 2381 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 2393 maint/gnulib/lib/regexec.c if (dfa->nodes[node].type == OP_OPEN_SUBEXP dfa 2394 maint/gnulib/lib/regexec.c && dfa->nodes[node].opr.idx < BITSET_WORD_BITS dfa 2395 maint/gnulib/lib/regexec.c && (dfa->used_bkref_map dfa 2396 maint/gnulib/lib/regexec.c & ((bitset_word_t) 1 << dfa->nodes[node].opr.idx))) dfa 2414 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 2426 maint/gnulib/lib/regexec.c if (check_node_accept (mctx, dfa->nodes + cur_node, cur_str_idx)) dfa 2429 maint/gnulib/lib/regexec.c dfa->eclosures + dfa->nexts[cur_node]); dfa 2438 maint/gnulib/lib/regexec.c next_state = re_acquire_state_context (err, dfa, &next_nodes, context); dfa 2452 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 2465 maint/gnulib/lib/regexec.c if (!dfa->nodes[cur_node_idx].accept_mb) dfa 2468 maint/gnulib/lib/regexec.c if (dfa->nodes[cur_node_idx].constraint) dfa 2473 maint/gnulib/lib/regexec.c if (NOT_SATISFY_NEXT_CONSTRAINT (dfa->nodes[cur_node_idx].constraint, dfa 2479 maint/gnulib/lib/regexec.c naccepted = check_node_accept_bytes (dfa, cur_node_idx, &mctx->input, dfa 2491 maint/gnulib/lib/regexec.c DEBUG_ASSERT (dfa->nexts[cur_node_idx] != -1); dfa 2492 maint/gnulib/lib/regexec.c new_nodes = dfa->eclosures + dfa->nexts[cur_node_idx]; dfa 2507 maint/gnulib/lib/regexec.c = re_acquire_state_context (&err, dfa, &dest_nodes, context); dfa 2521 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 2531 maint/gnulib/lib/regexec.c const re_token_t *node = dfa->nodes + node_idx; dfa 2555 maint/gnulib/lib/regexec.c DEBUG_ASSERT (dfa->nexts[node_idx] != -1); dfa 2566 maint/gnulib/lib/regexec.c ? dfa->eclosures + dfa->edests[node_idx].elems[0] dfa 2567 maint/gnulib/lib/regexec.c : dfa->eclosures + dfa->nexts[node_idx]); dfa 2579 maint/gnulib/lib/regexec.c = re_acquire_state_context (&err, dfa, new_dest_nodes, dfa 2597 maint/gnulib/lib/regexec.c = re_acquire_state_context (&err, dfa, &dest_nodes, context); dfa 2633 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 2648 maint/gnulib/lib/regexec.c subexp_num = dfa->nodes[bkref_node].opr.idx; dfa 2658 maint/gnulib/lib/regexec.c if (dfa->nodes[sub_top->node].opr.idx != subexp_num) dfa 2742 maint/gnulib/lib/regexec.c cls_node = find_subexp_node (dfa, nodes, subexp_num, dfa 2812 maint/gnulib/lib/regexec.c find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes, dfa 2819 maint/gnulib/lib/regexec.c const re_token_t *node = dfa->nodes + cls_node; dfa 2838 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 2846 maint/gnulib/lib/regexec.c subexp_num = dfa->nodes[top_node].opr.idx; dfa 2883 maint/gnulib/lib/regexec.c err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type); dfa 2914 maint/gnulib/lib/regexec.c cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context); dfa 2950 maint/gnulib/lib/regexec.c err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type); dfa 2965 maint/gnulib/lib/regexec.c cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context); dfa 3003 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 3015 maint/gnulib/lib/regexec.c DEBUG_ASSERT (!IS_EPSILON_NODE (dfa->nodes[cur_node].type)); dfa 3019 maint/gnulib/lib/regexec.c if (dfa->nodes[cur_node].accept_mb) dfa 3021 maint/gnulib/lib/regexec.c naccepted = check_node_accept_bytes (dfa, cur_node, &mctx->input, dfa 3026 maint/gnulib/lib/regexec.c Idx next_node = dfa->nexts[cur_node]; dfa 3045 maint/gnulib/lib/regexec.c mctx->state_log[next_idx] = re_acquire_state (&err, dfa, dfa 3057 maint/gnulib/lib/regexec.c || check_node_accept (mctx, dfa->nodes + cur_node, str_idx)) dfa 3059 maint/gnulib/lib/regexec.c ok = re_node_set_insert (next_nodes, dfa->nexts[cur_node]); dfa 3078 maint/gnulib/lib/regexec.c check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes, dfa 3094 maint/gnulib/lib/regexec.c const re_node_set *eclosure = dfa->eclosures + cur_node; dfa 3095 maint/gnulib/lib/regexec.c outside_node = find_subexp_node (dfa, eclosure, ex_subexp, type); dfa 3109 maint/gnulib/lib/regexec.c err = check_arrival_expand_ecl_sub (dfa, &new_nodes, cur_node, dfa 3129 maint/gnulib/lib/regexec.c check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes, dfa 3137 maint/gnulib/lib/regexec.c if (dfa->nodes[cur_node].type == type dfa 3138 maint/gnulib/lib/regexec.c && dfa->nodes[cur_node].opr.idx == ex_subexp) dfa 3151 maint/gnulib/lib/regexec.c if (dfa->edests[cur_node].nelem == 0) dfa 3153 maint/gnulib/lib/regexec.c if (dfa->edests[cur_node].nelem == 2) dfa 3156 maint/gnulib/lib/regexec.c err = check_arrival_expand_ecl_sub (dfa, dst_nodes, dfa 3157 maint/gnulib/lib/regexec.c dfa->edests[cur_node].elems[1], dfa 3162 maint/gnulib/lib/regexec.c cur_node = dfa->edests[cur_node].elems[0]; dfa 3177 maint/gnulib/lib/regexec.c const re_dfa_t *const dfa = mctx->dfa; dfa 3204 maint/gnulib/lib/regexec.c next_node = dfa->edests[ent->node].elems[0]; dfa 3208 maint/gnulib/lib/regexec.c err2 = check_arrival_expand_ecl (dfa, &new_dests, subexp_num, type); dfa 3224 maint/gnulib/lib/regexec.c next_node = dfa->nexts[ent->node]; dfa 3247 maint/gnulib/lib/regexec.c mctx->state_log[to_idx] = re_acquire_state (&err, dfa, &union_set); dfa 3262 maint/gnulib/lib/regexec.c build_trtable (const re_dfa_t *dfa, re_dfastate_t *state) dfa 3289 maint/gnulib/lib/regexec.c ndests = group_nodes_into_DFAstates (dfa, state, dests_node, dests_ch); dfa 3324 maint/gnulib/lib/regexec.c next_node = dfa->nexts[dests_node[i].elems[j]]; dfa 3327 maint/gnulib/lib/regexec.c err = re_node_set_merge (&follows, dfa->eclosures + next_node); dfa 3332 maint/gnulib/lib/regexec.c dest_states[i] = re_acquire_state_context (&err, dfa, &follows, 0); dfa 3339 maint/gnulib/lib/regexec.c dest_states_word[i] = re_acquire_state_context (&err, dfa, &follows, dfa 3345 maint/gnulib/lib/regexec.c if (dest_states[i] != dest_states_word[i] && dfa->mb_cur_max > 1) dfa 3348 maint/gnulib/lib/regexec.c dest_states_nl[i] = re_acquire_state_context (&err, dfa, &follows, dfa 3385 maint/gnulib/lib/regexec.c if (dfa->word_char[i] & mask) dfa 3451 maint/gnulib/lib/regexec.c group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, dfa 3466 maint/gnulib/lib/regexec.c re_token_t *node = &dfa->nodes[cur_nodes->elems[i]]; dfa 3480 maint/gnulib/lib/regexec.c if (dfa->mb_cur_max > 1) dfa 3481 maint/gnulib/lib/regexec.c bitset_merge (accepts, dfa->sb_char); dfa 3485 maint/gnulib/lib/regexec.c if (!(dfa->syntax & RE_DOT_NEWLINE)) dfa 3487 maint/gnulib/lib/regexec.c if (dfa->syntax & RE_DOT_NOT_NULL) dfa 3497 maint/gnulib/lib/regexec.c if (!(dfa->syntax & RE_DOT_NEWLINE)) dfa 3499 maint/gnulib/lib/regexec.c if (dfa->syntax & RE_DOT_NOT_NULL) dfa 3534 maint/gnulib/lib/regexec.c if (dfa->mb_cur_max > 1) dfa 3536 maint/gnulib/lib/regexec.c any_set |= (accepts[j] &= (dfa->word_char[j] | ~dfa->sb_char[j])); dfa 3540 maint/gnulib/lib/regexec.c any_set |= (accepts[j] &= dfa->word_char[j]); dfa 3553 maint/gnulib/lib/regexec.c if (dfa->mb_cur_max > 1) dfa 3555 maint/gnulib/lib/regexec.c any_set |= (accepts[j] &= ~(dfa->word_char[j] & dfa->sb_char[j])); dfa 3559 maint/gnulib/lib/regexec.c any_set |= (accepts[j] &= ~dfa->word_char[j]); dfa 3648 maint/gnulib/lib/regexec.c check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, dfa 3651 maint/gnulib/lib/regexec.c const re_token_t *node = dfa->nodes + node_idx; dfa 3714 maint/gnulib/lib/regexec.c if ((!(dfa->syntax & RE_DOT_NEWLINE) dfa 3716 maint/gnulib/lib/regexec.c || ((dfa->syntax & RE_DOT_NOT_NULL) dfa 3961 maint/gnulib/lib/regexec.c if ((ch == '\n' && !(mctx->dfa->syntax & RE_DOT_NEWLINE)) dfa 3962 maint/gnulib/lib/regexec.c || (ch == '\0' && (mctx->dfa->syntax & RE_DOT_NOT_NULL))) dfa 48 maint/gnulib/tests/test-dfa-match-aux.c struct dfa *dfa; dfa 59 maint/gnulib/tests/test-dfa-match-aux.c dfa = dfaalloc (); dfa 60 maint/gnulib/tests/test-dfa-match-aux.c dfasyntax (dfa, &localeinfo, RE_SYNTAX_EGREP | RE_NO_EMPTY_RANGES, 0); dfa 61 maint/gnulib/tests/test-dfa-match-aux.c dfacomp (argv[1], strlen (argv[1]), dfa, 0); dfa 67 maint/gnulib/tests/test-dfa-match-aux.c p = dfaexec (dfa, beg, end, allow_nl, NULL, NULL);