annotate c/regexParser/determinize.cc @ 111:1d30f70702df pairPro

add determinize.cc and transition.cc
author masa
date Sat, 21 Nov 2015 18:04:25 +0900
parents
children 66c633575b53
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
1 #include "transition.h"
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
2
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
3 TransitionPtr determinize(TransitionPtr cond, TransitionPtr list) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
4 TransitionPtr x0 = createTransition(x->condition, x->nextState);
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
5 TransitionPtr x1 = x0;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
6 for(;;) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
7 if (x->next == NULL) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
8 x1->next = y;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
9 return x0;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
10 }
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
11 x = x->next;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
12 x1->next = createTransition(x->condition, x->nextState);
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
13 x1 = x1->next;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
14 }
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
15 return x0;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
16 }