# HG changeset patch # User Masataka Kohagura # Date 1450164035 -32400 # Node ID 1c74ac7d56ec31884c4a28cba793084e9ce4cc77 # Parent 50217a0545e87e34c7961471ce2aa7cc1693e5e1 fix diff -r 50217a0545e8 -r 1c74ac7d56ec c/regexParser/main.cc --- a/c/regexParser/main.cc Mon Dec 14 19:39:16 2015 +0900 +++ b/c/regexParser/main.cc Tue Dec 15 16:20:35 2015 +0900 @@ -20,5 +20,6 @@ printf("regex : %s\n",ri->ptr); NodePtr n = regex(ri); printTree(n); + TransitionGenerator tg = generateTransitionList(n); return 0; } diff -r 50217a0545e8 -r 1c74ac7d56ec c/regexParser/subsetConstraction.cc --- a/c/regexParser/subsetConstraction.cc Mon Dec 14 19:39:16 2015 +0900 +++ b/c/regexParser/subsetConstraction.cc Tue Dec 15 16:20:35 2015 +0900 @@ -5,6 +5,11 @@ static CharClassPtr createCharClassWord(unsigned char *w, CharClassPtr cc1, CharClassPtr cc2) { + CharClassPtr cc = NEW(CharClass); + cc->type = 'a'; + cc->cond.w.word = ri->tokenValue; + cc->cond.w.length = ri->ptr - ri->tokenValue; + cc->nextState.bitContainer = 0; return cc1; } @@ -60,28 +65,8 @@ } } -StatePtr createStateList(NodePtr n) { - StatePtr s0 = NULL; - if (n->left != NULL) { - s0 = createStateList(n->left); - } - - if (n->tokenType == 'a') { - BitVectorPtr bi = createBitVector(n); - StatePtr s1 = createState(bi,0,0); - } else if (n->tokenType == '+' || n->tokenType == '|') { - - } - - if (n->right != NULL) { - s0 = createStateList(n->right); - } - return s0; -} - TransitionGenerator generateTransitionList(NodePtr n) { TransitionGenerator tg; - tg.state = createStateList(n); generateTransition(n,tg); return tg; }