annotate c/regexParser/transition.cc @ 112:ec485345daf9 pairPro

some function use static
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Mon, 23 Nov 2015 15:54:19 +0900
parents 1d30f70702df
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
112
ec485345daf9 some function use static
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 111
diff changeset
3 TransitionPtr createTransition(CharClass,BitVectorPtr);
ec485345daf9 some function use static
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 111
diff changeset
4 TransitionPtr appendTransition0(TransitionPtr,TransitionPtr);
ec485345daf9 some function use static
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 111
diff changeset
5 TransitionPtr appendTransition(TransitionPtr,TransitionPtr);
ec485345daf9 some function use static
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 111
diff changeset
6
111
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
7 TransitionPtr createTransition(CharClassPtr cc, BitVectorPtr state) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
8 TransitionPtr transition = (TransitionPtr)malloc(sizeof(Transition));
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
9 transition->condition = cc;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
10 transition->nextState = state;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
11 return transition;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
12 }
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
13
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
14 TransitionPtr appendTransition0(TransitionPtr x, TransitionPtr y) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
15 TransitionPtr x0 = x;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
16 for(;;) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
17 if (x->next == NULL) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
18 x->next = y
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
19 return x0;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
20 }
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
21 }
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
22 return x;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
23 }
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
24
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
25 TransitionPtr appendTransition(TransitionPtr x, TransitionPtr y) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
26 TransitionPtr x0 = createTransition(x->condition, x->nextState);
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
27 TransitionPtr x1 = x0;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
28 for(;;) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
29 if (x->next == NULL) {
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
30 x1->next = y;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
31 return x0;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
32 }
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
33 x = x->next;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
34 x1->next = createTransition(x->condition, x->nextState);
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
35 x1 = x1->next;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
36 }
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
37 return x0;
1d30f70702df add determinize.cc and transition.cc
masa
parents:
diff changeset
38 }