annotate c/regexParser/node.cc @ 134:dbafc753078e pairPro

fix concatination & selection & grouping
author masa
date Fri, 04 Dec 2015 17:45:09 +0900
parents a436526756b9
children e1a262ec75f0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
79
52da06c3f050 add printTree.cc & fix Makefile
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include <stdio.h>
117
166136236891 add header files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 116
diff changeset
2 #include "node.h"
112
ec485345daf9 some function use static
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 110
diff changeset
3
ec485345daf9 some function use static
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 110
diff changeset
4 static void descendTree(NodePtr n, int d) {
134
dbafc753078e fix concatination & selection & grouping
masa
parents: 131
diff changeset
5 if (n->left != NULL) {
116
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 112
diff changeset
6 d++;
134
dbafc753078e fix concatination & selection & grouping
masa
parents: 131
diff changeset
7 descendTree(n->left, d);
79
52da06c3f050 add printTree.cc & fix Makefile
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 d--;
52da06c3f050 add printTree.cc & fix Makefile
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 }
130
7925e9abb078 add or flag
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 120
diff changeset
10 if (n->tokenType != 'a') {
7925e9abb078 add or flag
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 120
diff changeset
11 printf("%*c%c(%lu)\n",d*4, ' ',n->tokenType,n->nodeNumber);
7925e9abb078 add or flag
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 120
diff changeset
12 } else {
131
a436526756b9 fix printTree
masa
parents: 130
diff changeset
13 printf("%*c",d*4, ' ');
a436526756b9 fix printTree
masa
parents: 130
diff changeset
14 for (int i = 0; i < n->cc->cond->w->length; i++) {
a436526756b9 fix printTree
masa
parents: 130
diff changeset
15 putchar(n->cc->cond->w->word[i]);
a436526756b9 fix printTree
masa
parents: 130
diff changeset
16 }
a436526756b9 fix printTree
masa
parents: 130
diff changeset
17 printf("(%lu)\n",n->nodeNumber);
130
7925e9abb078 add or flag
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 120
diff changeset
18 }
89
50a146c05192 add NodeNumber in Regex Parser tree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 79
diff changeset
19
134
dbafc753078e fix concatination & selection & grouping
masa
parents: 131
diff changeset
20 if (n->right != NULL) {
116
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 112
diff changeset
21 d++;
134
dbafc753078e fix concatination & selection & grouping
masa
parents: 131
diff changeset
22 descendTree(n->right, d);
79
52da06c3f050 add printTree.cc & fix Makefile
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 d--;
52da06c3f050 add printTree.cc & fix Makefile
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 }
52da06c3f050 add printTree.cc & fix Makefile
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 }
52da06c3f050 add printTree.cc & fix Makefile
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
52da06c3f050 add printTree.cc & fix Makefile
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 void printTree(NodePtr n) {
52da06c3f050 add printTree.cc & fix Makefile
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 puts("---Print Node----");
90
d139af3bbd67 remove static variable in printTree.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 89
diff changeset
29 int d = 0;
d139af3bbd67 remove static variable in printTree.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 89
diff changeset
30 descendTree(n,d);
79
52da06c3f050 add printTree.cc & fix Makefile
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 puts("-----------------");
52da06c3f050 add printTree.cc & fix Makefile
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 }