diff options
author | Maximilian Szengel <gnunet@maxsz.de> | 2012-06-25 08:33:13 +0000 |
---|---|---|
committer | Maximilian Szengel <gnunet@maxsz.de> | 2012-06-25 08:33:13 +0000 |
commit | 6803579aeefc80a95cd2047901fc691fd03401a1 (patch) | |
tree | 8efdd648eeeae8bc76bd8f4a0bd0c62755a0260f /src/regex/test_regex_iterate_api.c | |
parent | febbf34313acf57b3a1c336fe0eb2fed80d7a1e0 (diff) | |
download | gnunet-6803579aeefc80a95cd2047901fc691fd03401a1.tar.gz gnunet-6803579aeefc80a95cd2047901fc691fd03401a1.zip |
regex simplification wip
Diffstat (limited to 'src/regex/test_regex_iterate_api.c')
-rw-r--r-- | src/regex/test_regex_iterate_api.c | 48 |
1 files changed, 30 insertions, 18 deletions
diff --git a/src/regex/test_regex_iterate_api.c b/src/regex/test_regex_iterate_api.c index a36419a95..e9843e180 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, | |||
34 | { | 34 | { |
35 | int i; | 35 | int i; |
36 | 36 | ||
37 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Iterating...\n"); | 37 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Iterating... (accepting: %i)\n", |
38 | accepting); | ||
38 | for (i = 0; i < num_edges; i++) | 39 | for (i = 0; i < num_edges; i++) |
39 | { | 40 | { |
40 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Edge %i: %s\n", i, edges[i].label); | 41 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Edge %i: %s\n", i, edges[i].label); |
@@ -60,26 +61,37 @@ main (int argc, char *argv[]) | |||
60 | struct GNUNET_REGEX_Automaton *dfa; | 61 | struct GNUNET_REGEX_Automaton *dfa; |
61 | 62 | ||
62 | error = 0; | 63 | error = 0; |
63 | regex = "ab(c|d)+c*(a(b|c)+d)+(bla)+"; | 64 | /* regex = "ab(c|d)+c*(a(b|c)+d)+(bla)+"; */ |
64 | /*regex = "(bla)+"; */ | 65 | /* regex = "(bla)*"; */ |
65 | /*regex = "b(lab)*la"; */ | 66 | /*regex = "b(lab)*la"; */ |
66 | /*regex = "(bla)*"; */ | 67 | /* regex = "(ab)*"; */ |
67 | /*regex = "ab(c|d)+c*(a(b|c)+d)+(bla)(bla)*"; */ | 68 | /*regex = "ab(c|d)+c*(a(b|c)+d)+(bla)(bla)*"; */ |
68 | /*regex = "z(abc|def)?xyz"; */ | 69 | /*regex = "z(abc|def)?xyz"; */ |
69 | /*regex = "1*0(0|1)*"; */ | 70 | /* regex = "1*0(0|1)*"; */ |
70 | /*regex = "a+X*y+c|p|R|Z*K*y*R+w|Y*6+n+h*k*w+V*F|W*B*e*"; */ | 71 | /* regex = "a*b*"; */ |
71 | /*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)"; */ | 72 | /* regex = "a+X*y+c|p|R|Z*K*y*R+w|Y*6+n+h*k*w+V*F|W*B*e*"; */ |
72 | /*regex = "abc(1|0)*def"; */ | 73 | /* 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)"; */ |
73 | /*regex = "ab|ac"; */ | 74 | /* regex = "abc(1|0)*def"; */ |
74 | /*regex = "(ab)(ab)*"; */ | 75 | /* regex = "ab|ac"; */ |
75 | /*regex = "ab|cd|ef|gh"; */ | 76 | /* regex = "(ab)(ab)*"; */ |
76 | /*regex = "a|b|c|d|e|f|g"; */ | 77 | /* regex = "ab|cd|ef|gh"; */ |
77 | /*regex = "(ab)|(ac)"; */ | 78 | /* regex = "a|b|c|d|e|f|g"; */ |
78 | /*regex = "a(b|c)"; */ | 79 | /* regex = "(ab)|(ac)"; */ |
79 | /*regex = "a*a"; */ | 80 | /* regex = "a(b|c)"; */ |
80 | /*regex = "ab?(abcd)?"; */ | 81 | /* regex = "a*a"; */ |
81 | /*regex = "(ab)+"; */ | 82 | /* regex = "ab?(abcd)?"; */ |
82 | /*regex = "(abcsdfsdf)+"; */ | 83 | /* regex = "(ab)+"; */ |
84 | /* regex = "(ab|cs|df|sdf)*"; */ | ||
85 | /* regex = "(ab|cd)*"; */ | ||
86 | regex = "(cd|ab)*"; | ||
87 | regex = "(cd|ab)*"; | ||
88 | /* regex = "(ab|c)+"; */ | ||
89 | /* regex = "(a|bc)+"; */ | ||
90 | /* regex = "(ab|c)(ab|c)*"; */ | ||
91 | /* regex = "(a|bc)(a|bc)*"; */ | ||
92 | /* regex = "(ac|b)*"; */ | ||
93 | /* regex = "a|aa*a"; */ | ||
94 | |||
83 | dfa = GNUNET_REGEX_construct_dfa (regex, strlen (regex)); | 95 | dfa = GNUNET_REGEX_construct_dfa (regex, strlen (regex)); |
84 | GNUNET_REGEX_automaton_save_graph (dfa, "dfa.dot"); | 96 | GNUNET_REGEX_automaton_save_graph (dfa, "dfa.dot"); |
85 | GNUNET_REGEX_iterate_all_edges (dfa, key_iterator, NULL); | 97 | GNUNET_REGEX_iterate_all_edges (dfa, key_iterator, NULL); |