Lines Matching refs:preg

22 static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern,
31 static void free_workarea_compile (regex_t *preg);
36 static reg_errcode_t analyze (regex_t *preg);
45 static bin_tree_t *lower_subexp (reg_errcode_t *err, regex_t *preg,
61 static bin_tree_t *parse (re_string_t *regexp, regex_t *preg,
63 static bin_tree_t *parse_reg_exp (re_string_t *regexp, regex_t *preg,
66 static bin_tree_t *parse_branch (re_string_t *regexp, regex_t *preg,
69 static bin_tree_t *parse_expression (re_string_t *regexp, regex_t *preg,
72 static bin_tree_t *parse_sub_exp (re_string_t *regexp, regex_t *preg,
478 regcomp (preg, pattern, cflags)
479 regex_t *_Restrict_ preg;
487 preg->buffer = NULL;
488 preg->allocated = 0;
489 preg->used = 0;
492 preg->fastmap = re_malloc (char, SBC_MAX);
493 if (BE (preg->fastmap == NULL, 0))
504 preg->newline_anchor = 1;
507 preg->newline_anchor = 0;
508 preg->no_sub = !!(cflags & REG_NOSUB);
509 preg->translate = NULL;
511 ret = re_compile_internal (preg, pattern, strlen (pattern), syntax);
518 /* We have already checked preg->fastmap != NULL. */
522 (void) re_compile_fastmap (preg);
526 re_free (preg->fastmap);
527 preg->fastmap = NULL;
541 regerror (errcode, preg, errbuf, errbuf_size)
543 const regex_t *_Restrict_ preg;
548 regerror (int errcode, const regex_t *_Restrict_ preg,
662 regfree (preg)
663 regex_t *preg;
665 re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
668 preg->buffer = NULL;
669 preg->allocated = 0;
671 re_free (preg->fastmap);
672 preg->fastmap = NULL;
674 re_free (preg->translate);
675 preg->translate = NULL;
757 re_compile_internal (regex_t *preg, const char * pattern, size_t length,
765 preg->fastmap_accurate = 0;
766 preg->syntax = syntax;
767 preg->not_bol = preg->not_eol = 0;
768 preg->used = 0;
769 preg->re_nsub = 0;
770 preg->can_be_null = 0;
771 preg->regs_allocated = REGS_UNALLOCATED;
774 dfa = (re_dfa_t *) preg->buffer;
775 if (BE (preg->allocated < sizeof (re_dfa_t), 0))
781 dfa = re_realloc (preg->buffer, re_dfa_t, 1);
784 preg->allocated = sizeof (re_dfa_t);
785 preg->buffer = (unsigned char *) dfa;
787 preg->used = sizeof (re_dfa_t);
793 preg->buffer = NULL;
794 preg->allocated = 0;
805 err = re_string_construct (&regexp, pattern, length, preg->translate,
810 free_workarea_compile (preg);
813 preg->buffer = NULL;
814 preg->allocated = 0;
819 preg->re_nsub = 0;
820 dfa->str_tree = parse (&regexp, preg, syntax, &err);
825 err = analyze (preg);
831 if (dfa->is_utf8 && !(syntax & RE_ICASE) && preg->translate == NULL)
839 free_workarea_compile (preg);
845 preg->buffer = NULL;
846 preg->allocated = 0;
968 free_workarea_compile (regex_t *preg)
970 re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
1154 analyze (regex_t *preg)
1156 re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
1168 dfa->subexp_map = re_malloc (Idx, preg->re_nsub);
1172 for (i = 0; i < preg->re_nsub; i++)
1175 for (i = 0; i < preg->re_nsub; i++)
1178 if (i == preg->re_nsub)
1185 ret = postorder (dfa->str_tree, lower_subexps, preg);
1201 if ((!preg->no_sub && preg->re_nsub > 0 && dfa->has_plural_match)
1315 regex_t *preg = (regex_t *) extra;
1320 node->left = lower_subexp (&err, preg, node->left);
1326 node->right = lower_subexp (&err, preg, node->right);
1335 lower_subexp (reg_errcode_t *err, regex_t *preg, bin_tree_t *node)
1337 re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
1341 if (preg->no_sub
2117 parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax,
2120 re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
2125 tree = parse_reg_exp (regexp, preg, &current_token, syntax, 0, err);
2151 parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
2154 re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
2156 tree = parse_branch (regexp, preg, token, syntax, nest, err);
2166 branch = parse_branch (regexp, preg, token, syntax, nest, err);
2192 parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token,
2196 re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
2197 tree = parse_expression (regexp, preg, token, syntax, nest, err);
2204 expr = parse_expression (regexp, preg, token, syntax, nest, err);
2232 parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
2235 re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
2266 tree = parse_sub_exp (regexp, preg, token, syntax, nest + 1, err);
2309 return parse_expression (regexp, preg, token, syntax, nest, err);
2448 parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
2451 re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
2454 cur_nsub = preg->re_nsub++;
2463 tree = parse_reg_exp (regexp, preg, token, syntax, nest, err);