re_node_set
re_node_set init_nodes;
dfa->edests = re_malloc (re_node_set, dfa->nodes_alloc);
dfa->eclosures = re_malloc (re_node_set, dfa->nodes_alloc);
dfa->inveclosures = re_malloc (re_node_set, dfa->nodes_len);
re_node_set eclosure_elem;
calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
re_node_set eclosure;
re_node_set eclosure_elem;
static reg_errcode_t calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa,
MAX (sizeof (re_node_set),
re_node_set_init_copy (re_node_set *dest, const re_node_set *src)
re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1,
const re_node_set *src2)
re_node_set_init_union (re_node_set *dest, const re_node_set *src1,
const re_node_set *src2)
re_node_set_merge (re_node_set *dest, const re_node_set *src)
re_node_set_insert (re_node_set *set, Idx elem)
re_node_set_insert_last (re_node_set *set, Idx elem)
re_node_set_compare (const re_node_set *set1, const re_node_set *set2)
re_node_set_contains (const re_node_set *set, Idx elem)
re_node_set_remove_at (re_node_set *set, Idx idx)
re_node_set *new_edests, *new_eclosures;
MAX (sizeof (re_node_set),
new_edests = re_realloc (dfa->edests, re_node_set, new_nodes_alloc);
new_eclosures = re_realloc (dfa->eclosures, re_node_set, new_nodes_alloc);
calc_state_hash (const re_node_set *nodes, unsigned int context)
const re_node_set *nodes)
const re_node_set *nodes, unsigned int context)
create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
newstate->entrance_nodes = re_malloc (re_node_set, 1);
const re_node_set *nodes,
const re_node_set *nodes,
re_node_set_alloc (re_node_set *set, Idx size)
re_node_set_init_1 (re_node_set *set, Idx elem)
re_node_set_init_2 (re_node_set *set, Idx elem1, Idx elem2)
re_node_set nodes;
re_node_set non_eps_nodes;
re_node_set inveclosure;
re_node_set *entrance_nodes;
re_node_set limits;
re_node_set eps_via_nodes;
re_node_set *edests;
re_node_set *eclosures;
re_node_set *inveclosures;
#define re_node_set_init_empty(set) memset (set, '\0', sizeof (re_node_set))
const re_node_set *candidates,
re_node_set *limits,
Idx str_idx, const re_node_set *candidates);
re_node_set *cur_nodes,
Idx *pidx, Idx node, re_node_set *eps_via_nodes,
re_node_set *cur_nodes = &mctx->state_log[*pidx]->nodes;
re_node_set *edests = &dfa->edests[node];
const re_node_set *nodes);
Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes)
regmatch_t *regs, re_node_set *eps_via_nodes)
static Idx find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes,
re_node_set eps_via_nodes;
re_node_set *cur_nodes,
re_node_set *next_nodes);
re_node_set *cur_nodes,
re_node_set *dst_nodes,
re_node_set *cur_nodes, Idx cur_str,
re_node_set cur_dest;
Idx str_idx, re_node_set *cur_dest)
const re_node_set *cur_src = &mctx->state_log[str_idx]->non_eps_nodes;
re_node_set *states_node,
re_node_set merged_set;
re_node_set *dest_nodes)
const re_node_set *candidates;
add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes,
const re_node_set *candidates)
sub_epsilon_src_nodes (const re_dfa_t *dfa, Idx node, re_node_set *dest_nodes,
const re_node_set *candidates)
re_node_set *inv_eclosure = dfa->inveclosures + node;
re_node_set except_nodes;
check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits,
const re_node_set *eclosures = dfa->eclosures + from_node;
check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes,
const re_node_set *candidates, re_node_set *limits,
Idx str_idx, const re_node_set *candidates)
re_node_set next_nodes, *log_nodes, *table_nodes = NULL;
check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes,
re_node_set next_nodes;
re_node_set dest_nodes, *new_nodes;
transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
re_node_set *new_dest_nodes;
re_node_set dest_nodes;
const re_node_set *nodes;
find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes,
re_node_set *cur_nodes, next_nodes;
re_node_set *cur_nodes, re_node_set *next_nodes)
re_node_set union_set;
check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes,
re_node_set new_nodes;
const re_node_set *eclosure = dfa->eclosures + cur_node;
check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes,
expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes,
re_node_set new_dests;
re_node_set union_set;
re_node_set follows, *dests_node;
re_node_set dests_node[SBC_MAX];
if (BE ((((SIZE_MAX - (sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX)
if (__libc_use_alloca ((sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX
re_node_set *dests_node, bitset_t *dests_ch)
const re_node_set *cur_nodes = &state->nodes;
re_node_set *eps_via_nodes);
re_node_set *cur_dest);
re_node_set *dest_nodes);
re_node_set *dest_nodes,
const re_node_set *candidates);
const re_node_set *limits,
re_node_set *dest_nodes,