re_match_context_t
acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx,
static reg_errcode_t sift_states_bkref (const re_match_context_t *mctx,
check_matching (re_match_context_t *mctx, bool fl_longest_match,
re_match_context_t *mctx);
re_match_context_t *mctx,
re_match_context_t *mctx,
static reg_errcode_t check_subexp_matching_top (re_match_context_t *mctx,
check_halt_state_context (const re_match_context_t *mctx,
proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
re_match_context_t *mctx,
static reg_errcode_t transit_state_mb (re_match_context_t *mctx,
static reg_errcode_t transit_state_bkref (re_match_context_t *mctx,
static reg_errcode_t get_subexp (re_match_context_t *mctx,
static reg_errcode_t get_subexp_sub (re_match_context_t *mctx,
set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch,
static reg_errcode_t check_arrival (re_match_context_t *mctx,
static reg_errcode_t check_arrival_add_next_nodes (re_match_context_t *mctx,
static reg_errcode_t expand_bkref_cache (re_match_context_t *mctx,
sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx)
build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx,
clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx)
static bool check_node_accept (const re_match_context_t *mctx,
static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len);
update_cur_sifted_state (const re_match_context_t *mctx,
check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits,
check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries,
check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit,
static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags,
sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx,
sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx,
static void match_ctx_clean (re_match_context_t *mctx);
transit_state (reg_errcode_t *err, re_match_context_t *mctx,
merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx,
static void match_ctx_free (re_match_context_t *cache);
find_recover_state (reg_errcode_t *err, re_match_context_t *mctx)
check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes,
static reg_errcode_t match_ctx_add_entry (re_match_context_t *cache, Idx node,
transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx,
transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate)
transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
static Idx search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx);
get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
static reg_errcode_t match_ctx_add_subtop (re_match_context_t *mctx, Idx node,
get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top,
check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx,
expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes,
check_node_accept (const re_match_context_t *mctx, const re_token_t *node,
extend_buffers (re_match_context_t *mctx, int min_len)
match_ctx_init (re_match_context_t *mctx, int eflags, Idx n)
match_ctx_clean (re_match_context_t *mctx)
match_ctx_free (re_match_context_t *mctx)
match_ctx_add_entry (re_match_context_t *mctx, Idx node, Idx str_idx, Idx from,
search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx)
match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx)
static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx);
static Idx check_matching (re_match_context_t *mctx, bool fl_longest_match,
static Idx check_halt_state_context (const re_match_context_t *mctx,
re_match_context_t mctx = { .dfa = dfa };
re_match_context_t mctx;
memset (&mctx, '\0', sizeof (re_match_context_t));
const re_match_context_t *mctx,
static int sift_states_iter_mb (const re_match_context_t *mctx,
static reg_errcode_t sift_states_backward (const re_match_context_t *mctx,
static reg_errcode_t build_sifted_states (const re_match_context_t *mctx,
static reg_errcode_t update_cur_sifted_state (const re_match_context_t *mctx,
static bool check_dst_limits (const re_match_context_t *mctx,
static int check_dst_limits_calc_pos_1 (const re_match_context_t *mctx,
prune_impossible_nodes (re_match_context_t *mctx)
static int check_dst_limits_calc_pos (const re_match_context_t *mctx,