cleanup, fixes
[oweals/gnunet.git] / src / regex / test_regex_iterate_api.c
index 7c7324aa5d66a3bdc3748e210894e91d1b2994ef..e7052f5ee5702346e434824e1c93de821f2dfc85 100644 (file)
 #include "gnunet_regex_lib.h"
 
 void
-key_iterator (void *cls, const GNUNET_HashCode * key, const char *proof,
+key_iterator (void *cls, const struct GNUNET_HashCode *key, const char *proof,
               int accepting, unsigned int num_edges,
               const struct GNUNET_REGEX_Edge *edges)
 {
   int i;
 
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Iterating...\n");
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Iterating... (accepting: %i)\n",
+              accepting);
   for (i = 0; i < num_edges; i++)
   {
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Edge %i: %s\n", i, edges[i].label);
@@ -58,31 +59,42 @@ main (int argc, char *argv[])
   int error;
   const char *regex;
   struct GNUNET_REGEX_Automaton *dfa;
-  struct GNUNET_REGEX_Automaton *nfa;
 
   error = 0;
-  /*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";
+  /* regex = "ab(c|d)+c*(a(b|c)+d)+(bla)+"; */
+  /* regex = "(bla)*"; */
+  /*regex = "b(lab)*la"; */
+  /* regex = "(ab)*"; */
+  regex = "ab(c|d)+c*(a(b|c)+d)+(bla)(bla)*";
+  /*regex = "z(abc|def)?xyz"; */
+  /* regex = "1*0(0|1)*"; */
+  /* regex = "a*b*"; */
+  /* regex = "a+X*y+c|p|R|Z*K*y*R+w|Y*6+n+h*k*w+V*F|W*B*e*"; */
+  /* regex = "abcd:(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1):(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)(0|1)"; */
+  /* regex = "abc(1|0)*def"; */
+  /* regex = "ab|ac"; */
+  /* regex = "(ab)(ab)*"; */
+  /* regex = "ab|cd|ef|gh"; */
+  /* regex = "a|b|c|d|e|f|g"; */
+  /* regex = "(ab)|(ac)"; */
+  /* regex = "a(b|c)"; */
+  /* regex = "a*a"; */
+  /* regex = "ab?(abcd)?"; */
+  /* regex = "(ab)+"; */
+  /* regex = "(ab|cs|df|sdf)*"; */
+  /* regex = "(ab|cd)*"; */
+  /* regex = "(cd|ab)*"; */
+  /* regex = "(ab|c)+"; */
+  /* regex = "(a|bc)+"; */
+  /* regex = "(ab|c)(ab|c)*"; */
+  /* regex = "(a|bc)(a|bc)*"; */
+  /* regex = "(ac|b)*"; */
+  /* regex = "a|aa*a"; */
 
-  /*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;
 }