Lines Matching refs:nodes
28 const re_node_set *nodes,
31 const re_node_set *nodes,
1406 /* Add the token TOKEN to dfa->nodes, and return the index of the token.
1428 new_nodes = re_realloc (dfa->nodes, re_token_t, new_nodes_alloc);
1431 dfa->nodes = new_nodes;
1445 dfa->nodes[dfa->nodes_len] = token;
1446 dfa->nodes[dfa->nodes_len].constraint = 0;
1450 dfa->nodes[dfa->nodes_len].accept_mb =
1462 calc_state_hash (const re_node_set *nodes, unsigned int context)
1464 re_hashval_t hash = nodes->nelem + context;
1466 for (i = 0 ; i < nodes->nelem ; i++)
1467 hash += nodes->elems[i];
1471 /* Search for the state whose node_set is equivalent to NODES.
1483 const re_node_set *nodes)
1493 if (BE (nodes->nelem == 0, 0))
1498 hash = calc_state_hash (nodes, 0);
1506 if (re_node_set_compare (&state->nodes, nodes))
1511 new_state = create_ci_newstate (dfa, nodes, hash);
1518 /* Search for the state whose node_set is equivalent to NODES and
1531 const re_node_set *nodes, unsigned int context)
1541 if (nodes->nelem == 0)
1546 hash = calc_state_hash (nodes, context);
1554 && re_node_set_compare (state->entrance_nodes, nodes))
1558 new_state = create_cd_newstate (dfa, nodes, context, hash);
1578 err = re_node_set_alloc (&newstate->non_eps_nodes, newstate->nodes.nelem);
1581 for (i = 0; i < newstate->nodes.nelem; i++)
1583 Idx elem = newstate->nodes.elems[i];
1584 if (!IS_EPSILON_NODE (dfa->nodes[elem].type))
1609 if (state->entrance_nodes != &state->nodes)
1614 re_node_set_free (&state->nodes);
1625 create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
1635 err = re_node_set_init_copy (&newstate->nodes, nodes);
1642 newstate->entrance_nodes = &newstate->nodes;
1643 for (i = 0 ; i < nodes->nelem ; i++)
1645 re_token_t *node = dfa->nodes + nodes->elems[i];
1675 create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
1685 err = re_node_set_init_copy (&newstate->nodes, nodes);
1693 newstate->entrance_nodes = &newstate->nodes;
1695 for (i = 0 ; i < nodes->nelem ; i++)
1697 re_token_t *node = dfa->nodes + nodes->elems[i];
1715 if (newstate->entrance_nodes == &newstate->nodes)
1723 re_node_set_init_copy (newstate->entrance_nodes, nodes);
1730 re_node_set_remove_at (&newstate->nodes, i - nctx_nodes);