From 6803579aeefc80a95cd2047901fc691fd03401a1 Mon Sep 17 00:00:00 2001 From: Maximilian Szengel Date: Mon, 25 Jun 2012 08:33:13 +0000 Subject: regex simplification wip --- src/regex/test_regex_iterate_api.c | 48 ++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 18 deletions(-) (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 a36419a954..e9843e1803 100644 --- a/src/regex/test_regex_iterate_api.c +++ b/src/regex/test_regex_iterate_api.c @@ -34,7 +34,8 @@ key_iterator (void *cls, const struct GNUNET_HashCode *key, const char *proof, { 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); @@ -60,26 +61,37 @@ main (int argc, char *argv[]) struct GNUNET_REGEX_Automaton *dfa; error = 0; - regex = "ab(c|d)+c*(a(b|c)+d)+(bla)+"; - /*regex = "(bla)+"; */ + /* regex = "ab(c|d)+c*(a(b|c)+d)+(bla)+"; */ + /* regex = "(bla)*"; */ /*regex = "b(lab)*la"; */ - /*regex = "(bla)*"; */ + /* 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+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 = "(abcsdfsdf)+"; */ + /* 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 = "(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"; */ + 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); -- cgit v1.2.3-70-g09d2