comparison regexParser/subsetConstruction.cc @ 255:61d4d466e64c

fix Makefile
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Mon, 25 Jan 2016 18:20:37 +0900
parents 21b9ba76f91b
children 72f3673dd7a5
comparison
equal deleted inserted replaced
254:21b9ba76f91b 255:61d4d466e64c
212 212
213 StatePtr createState(TGValue tgv,NodePtr n) { 213 StatePtr createState(TGValue tgv,NodePtr n) {
214 BitVector bi = createBitVector(tgv.tg->totalStateCount); 214 BitVector bi = createBitVector(tgv.tg->totalStateCount);
215 StatePtr s = createState(tgv.tg,bi); 215 StatePtr s = createState(tgv.tg,bi);
216 n->stateNum = s->stateNum; 216 n->stateNum = s->stateNum;
217 s->next = tgv.tg->stateList;
218 tgv.tg->stateList = s;
219 s->node = n; 217 s->node = n;
220 s->bitState = bi; 218 s->bitState = bi;
221 s->accept = false; 219 s->accept = false;
222 s->cc = n->cc; 220 s->cc = n->cc;
223 return s; 221 return s;
308 return tgv; 306 return tgv;
309 } 307 }
310 308
311 TGValue generateTransitionList(NodePtr n) { 309 TGValue generateTransitionList(NodePtr n) {
312 TGValue tgv = createTGValue(); 310 TGValue tgv = createTGValue();
311 State dummy;
312 tgv.tg->stateEnd = &dummy;
313 StatePtr startState = tgv.startState = createState(tgv,n); 313 StatePtr startState = tgv.startState = createState(tgv,n);
314 tgv.tg->stateList = startState;
314 NodePtr eof = createNode(NULL,'e',NULL,NULL,NULL); 315 NodePtr eof = createNode(NULL,'e',NULL,NULL,NULL);
315 StatePtr endState = tgv.endState = createState(tgv,eof); 316 StatePtr endState = tgv.endState = createState(tgv,eof);
316 endState->accept = true; 317 endState->accept = true;
317 tgv.startState = startState; 318 tgv.startState = startState;
318 tgv.endState = endState; 319 tgv.endState = endState;