Home | History | Annotate | Download | only in lib

Lines Matching refs:newstate

1565 /* Finish initialization of the new state NEWSTATE, and using its hash value
1570 register_state (const re_dfa_t *dfa, re_dfastate_t *newstate,
1577 newstate->hash = 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];
1585 if (BE (! re_node_set_insert_last (&newstate->non_eps_nodes, elem), 0))
1600 spot->array[spot->num++] = newstate;
1630 re_dfastate_t *newstate;
1632 newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1);
1633 if (BE (newstate == NULL, 0))
1635 err = re_node_set_init_copy (&newstate->nodes, nodes);
1638 re_free (newstate);
1642 newstate->entrance_nodes = &newstate->nodes;
1650 newstate->accept_mb |= node->accept_mb;
1655 newstate->halt = 1;
1657 newstate->has_backref = 1;
1659 newstate->has_constraint = 1;
1661 err = register_state (dfa, newstate, hash);
1664 free_state (newstate);
1665 newstate = NULL;
1667 return newstate;
1680 re_dfastate_t *newstate;
1682 newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1);
1683 if (BE (newstate == NULL, 0))
1685 err = re_node_set_init_copy (&newstate->nodes, nodes);
1688 re_free (newstate);
1692 newstate->context = context;
1693 newstate->entrance_nodes = &newstate->nodes;
1704 newstate->accept_mb |= node->accept_mb;
1709 newstate->halt = 1;
1711 newstate->has_backref = 1;
1715 if (newstate->entrance_nodes == &newstate->nodes)
1717 newstate->entrance_nodes = re_malloc (re_node_set, 1);
1718 if (BE (newstate->entrance_nodes == NULL, 0))
1720 free_state (newstate);
1723 re_node_set_init_copy (newstate->entrance_nodes, nodes);
1725 newstate->has_constraint = 1;
1730 re_node_set_remove_at (&newstate->nodes, i - nctx_nodes);
1735 err = register_state (dfa, newstate, hash);
1738 free_state (newstate);
1739 newstate = NULL;
1741 return newstate;