annotate regexParser/test/ccMerge.cc @ 216:4852bfa85db4

spell fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 30 Dec 2015 15:05:06 +0900
parents 11b6332f0a42
children 1188debbef10
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
205
b7b8f0c03fe3 add test/ccMerge.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include <stdio.h>
b7b8f0c03fe3 add test/ccMerge.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #include <stdlib.h>
b7b8f0c03fe3 add test/ccMerge.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 #include <string.h>
b7b8f0c03fe3 add test/ccMerge.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 #include "regexParser.h"
b7b8f0c03fe3 add test/ccMerge.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 #include "node.h"
216
4852bfa85db4 spell fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 213
diff changeset
6 #include "subsetConstruction.h"
205
b7b8f0c03fe3 add test/ccMerge.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
206
e5302c2f6e00 implement printCCTree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
8 void printCCTree(CharClassPtr cc) {
e5302c2f6e00 implement printCCTree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
9 if (cc->left != NULL) {
e5302c2f6e00 implement printCCTree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
10 printCCTree(cc->left);
e5302c2f6e00 implement printCCTree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
11 }
e5302c2f6e00 implement printCCTree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
12
e5302c2f6e00 implement printCCTree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
13 printf("range : [%c-%c] NextState : %lu\n",(unsigned char)cc->cond.range.begin,(unsigned char)cc->cond.range.end, cc->nextState.bitContainer);
e5302c2f6e00 implement printCCTree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
14
e5302c2f6e00 implement printCCTree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
15 if (cc->right != NULL) {
e5302c2f6e00 implement printCCTree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
16 printCCTree(cc->right);
e5302c2f6e00 implement printCCTree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
17 }
e5302c2f6e00 implement printCCTree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
18 }
e5302c2f6e00 implement printCCTree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
19
205
b7b8f0c03fe3 add test/ccMerge.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 int main(int argc, char **argv)
b7b8f0c03fe3 add test/ccMerge.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 {
213
11b6332f0a42 fix tgv.tg->totalStateCount increment
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 208
diff changeset
22 RegexInfo ri;
208
2ec95755238e fix mergetest
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 206
diff changeset
23 NodePtr n = NULL;
2ec95755238e fix mergetest
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 206
diff changeset
24 StatePtr s = NULL;
2ec95755238e fix mergetest
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 206
diff changeset
25 TGValue tgv = createTGValue();
205
b7b8f0c03fe3 add test/ccMerge.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 for (int i = 1; i < argc; i++) {
b7b8f0c03fe3 add test/ccMerge.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 if (strcmp(argv[i],"-regex") == 0) {
213
11b6332f0a42 fix tgv.tg->totalStateCount increment
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 208
diff changeset
28 ri.ptr = (unsigned char*)argv[i+1]; i++;
11b6332f0a42 fix tgv.tg->totalStateCount increment
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 208
diff changeset
29 printf("regex : %s\n",ri.ptr);
11b6332f0a42 fix tgv.tg->totalStateCount increment
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 208
diff changeset
30 NodePtr nMerge = regex(&ri);
208
2ec95755238e fix mergetest
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 206
diff changeset
31 StatePtr sMerge = createState(tgv,nMerge);
2ec95755238e fix mergetest
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 206
diff changeset
32 setState(sMerge->cc,sMerge->bitState);
2ec95755238e fix mergetest
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 206
diff changeset
33 if (s == NULL) {
2ec95755238e fix mergetest
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 206
diff changeset
34 s = sMerge;
2ec95755238e fix mergetest
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 206
diff changeset
35 n = nMerge;
2ec95755238e fix mergetest
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 206
diff changeset
36 printCCTree(s->cc);
2ec95755238e fix mergetest
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 206
diff changeset
37 continue;
2ec95755238e fix mergetest
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 206
diff changeset
38 }
2ec95755238e fix mergetest
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 206
diff changeset
39 CharClassPtr cc = mergeTransition(s,sMerge->cc);
2ec95755238e fix mergetest
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 206
diff changeset
40 s->cc = cc;
2ec95755238e fix mergetest
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 206
diff changeset
41 printCCTree(s->cc);
205
b7b8f0c03fe3 add test/ccMerge.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 }
b7b8f0c03fe3 add test/ccMerge.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 }
b7b8f0c03fe3 add test/ccMerge.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 return 0;
b7b8f0c03fe3 add test/ccMerge.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 }