/**
* Marking the state as contained. This is used for checking, if the state is
- * contained in a set in constant time
+ * contained in a set in constant time.
*/
int contained;
int lowlink;
/**
- * Human readable name of the automaton. Used for debugging and graph
+ * Human readable name of the state. Used for debugging and graph
* creation.
*/
char *name;
*/
struct GNUNET_REGEX_Transition *transitions_tail;
+ /**
+ * Number of incoming transitions. Used for compressing DFA paths.
+ */
+ unsigned int incoming_transition_count;
+
/**
* Set of states on which this state is based on. Used when creating a DFA out
* of several NFA states.
* Canonical regex (result of RX->NFA->DFA->RX)
*/
char *canonical_regex;
+
+ /**
+ * GNUNET_YES, if multi strides have been added to the Automaton.
+ */
+ int is_multistrided;
};
* @param stride_len length of the strides.
*/
void
-GNUNET_REGEX_add_multi_strides_to_dfa (struct GNUNET_REGEX_Context *regex_ctx,
- struct GNUNET_REGEX_Automaton *dfa,
- const unsigned int stride_len);
+GNUNET_REGEX_dfa_add_multi_strides (struct GNUNET_REGEX_Context *regex_ctx,
+ struct GNUNET_REGEX_Automaton *dfa,
+ const unsigned int stride_len);
/**