annotate c/regexParser/transition.cc @ 117:166136236891 pairPro

add header files
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Wed, 25 Nov 2015 14:58:03 +0900
parents 66c633575b53
children 84a2a5209d3a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
116
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 112
diff changeset
1 #include <stdlib.h>
111
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
2 #include "transition.h"
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
3
112
ec485345daf9 some function use static
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 111
diff changeset
4 TransitionPtr createTransition(CharClass,BitVectorPtr);
ec485345daf9 some function use static
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 111
diff changeset
5 TransitionPtr appendTransition0(TransitionPtr,TransitionPtr);
ec485345daf9 some function use static
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 111
diff changeset
6 TransitionPtr appendTransition(TransitionPtr,TransitionPtr);
ec485345daf9 some function use static
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 111
diff changeset
7
111
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
8 TransitionPtr createTransition(CharClassPtr cc, BitVectorPtr state) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
9 TransitionPtr transition = (TransitionPtr)malloc(sizeof(Transition));
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
10 transition->condition = cc;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
11 transition->nextState = state;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
12 return transition;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
13 }
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
14
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
15 TransitionPtr appendTransition0(TransitionPtr x, TransitionPtr y) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
16 TransitionPtr x0 = x;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
17 for(;;) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
18 if (x->next == NULL) {
116
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 112
diff changeset
19 x->next = y;
111
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
20 return x0;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
21 }
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
22 }
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
23 return x;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
24 }
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
25
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
26 TransitionPtr appendTransition(TransitionPtr x, TransitionPtr y) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
27 TransitionPtr x0 = createTransition(x->condition, x->nextState);
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
28 TransitionPtr x1 = x0;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
29 for(;;) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
30 if (x->next == NULL) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
31 x1->next = y;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
32 return x0;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
33 }
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
34 x = x->next;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
35 x1->next = createTransition(x->condition, x->nextState);
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
36 x1 = x1->next;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
37 }
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
38 return x0;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
39 }