changeset 206:e5302c2f6e00

implement printCCTree
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Sun, 27 Dec 2015 16:00:19 +0900
parents b7b8f0c03fe3
children 58d3c01bf421
files regexParser/test/ccMerge.cc
diffstat 1 files changed, 13 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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;
 }