# HG changeset patch # User Masataka Kohagura # Date 1451199619 -32400 # Node ID e5302c2f6e00370ddcf700a8a4f225c7adcb26ab # Parent b7b8f0c03fe3c49964491cde49c59052c1e31f9a implement printCCTree diff -r b7b8f0c03fe3 -r e5302c2f6e00 regexParser/test/ccMerge.cc --- a/regexParser/test/ccMerge.cc Sun Dec 27 14:57:40 2015 +0900 +++ b/regexParser/test/ccMerge.cc Sun Dec 27 16:00:19 2015 +0900 @@ -5,6 +5,18 @@ #include "node.h" #include "subsetConstraction.h" +void printCCTree(CharClassPtr cc) { + if (cc->left != NULL) { + printCCTree(cc->left); + } + + printf("range : [%c-%c] NextState : %lu\n",(unsigned char)cc->cond.range.begin,(unsigned char)cc->cond.range.end, cc->nextState.bitContainer); + + if (cc->right != NULL) { + printCCTree(cc->right); + } +} + int main(int argc, char **argv) { RegexInfo ri; @@ -34,10 +46,9 @@ } NodePtr n = regex(&ri); TransitionGeneratorPtr tg = generateTransitionList(n); - printTree(n); BitVector nextState; nextState.bitContainer = 8; CharClassPtr cc = charClassMerge(n->cc,begin,end,nextState); - printf("type : %c range : [%c-%c] NextState : %lu\n",cc->type,(unsigned char)cc->cond.range.begin,(unsigned char)cc->cond.range.end, cc->nextState.bitContainer); + printCCTree(cc); return 0; }