From 2e7a6b023989a31954928972150e6ee4d10e06df Mon Sep 17 00:00:00 2001 From: Maximilian Szengel Date: Mon, 7 May 2012 11:16:53 +0000 Subject: - State merging fix - Proof creation WIP --- src/regex/test_regex_iterate_api.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/regex/test_regex_iterate_api.c') diff --git a/src/regex/test_regex_iterate_api.c b/src/regex/test_regex_iterate_api.c index 52cd12cb6..7c7324aa5 100644 --- a/src/regex/test_regex_iterate_api.c +++ b/src/regex/test_regex_iterate_api.c @@ -39,6 +39,9 @@ key_iterator (void *cls, const GNUNET_HashCode * key, const char *proof, { GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Edge %i: %s\n", i, edges[i].label); } + + if (NULL != proof) + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Proof: %s\n", proof); } int @@ -55,14 +58,31 @@ main (int argc, char *argv[]) int error; const char *regex; struct GNUNET_REGEX_Automaton *dfa; + struct GNUNET_REGEX_Automaton *nfa; error = 0; - regex = "ab?(abcd)?"; + /*regex = "ab?|xy|(abcd)?"; */ + /*regex = "(ab|cd|ef)xy"; */ + /*regex = "(ac|bc)de"; */ + /*regex = "((a|b)c)de"; */ + /*regex = "a+X*y+c|p|R|Z*K*y*R+w|Y*6+n+h*k*w+V*F|W*B*e*"; */ + regex = "ab(c|d)+c*(a(b|c)d)+"; + /*regex = "ab?(abcd)?"; */ + const char *regex1 = "(ac|bc)de"; + const char *regex2 = "((a|b)c)de"; + /*nfa = GNUNET_REGEX_construct_nfa (regex, strlen (regex)); */ + /*GNUNET_REGEX_automaton_save_graph (nfa, "nfa.dot"); */ dfa = GNUNET_REGEX_construct_dfa (regex, strlen (regex)); GNUNET_REGEX_automaton_save_graph (dfa, "dfa.dot"); GNUNET_REGEX_iterate_all_edges (dfa, key_iterator, NULL); GNUNET_REGEX_automaton_destroy (dfa); + dfa = GNUNET_REGEX_construct_dfa (regex1, strlen (regex1)); + GNUNET_REGEX_automaton_save_graph (dfa, "dfa1.dot"); + GNUNET_REGEX_automaton_destroy (dfa); + dfa = GNUNET_REGEX_construct_dfa (regex2, strlen (regex2)); + GNUNET_REGEX_automaton_save_graph (dfa, "dfa2.dot"); + GNUNET_REGEX_automaton_destroy (dfa); return error; } -- cgit v1.2.3