annotate regexParser/cerium/CeriumMain.cc @ 277:7b4bcc7b5ae6

nextTState implemented
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Sat, 30 Jan 2016 20:44:37 +0900
parents 5aa9d01926f1
children 99d635926ef3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
266
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
1 #include <stdio.h>
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
2 #include <sys/time.h>
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
3 #include "TaskManager.h"
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
4 #include "SchedTask.h"
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
5 #include "Func.h"
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
6 #include "FileMapReduce.h"
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
7 #include "CeriumGrep.h"
272
5aa9d01926f1 Cerium version no compile errors
kono
parents: 271
diff changeset
8 #include "subsetConstruction.h"
5aa9d01926f1 Cerium version no compile errors
kono
parents: 271
diff changeset
9 #include "threadedSearch.h"
266
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
10
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
11 extern void task_init();
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
12 void TMend(TaskManager *);
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
13 static double st_time;
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
14 static double ed_time;
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
15 const char* usr_help_str = "";
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
16
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
17 static double
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
18 getTime() {
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
19 struct timeval tv;
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
20 gettimeofday(&tv, NULL);
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
21 return tv.tv_sec + (double)tv.tv_usec*1e-6;
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
22 }
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
23
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
24 int
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
25 TMmain(TaskManager *manager, int argc, char *argv[])
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
26 {
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
27 char *filename = 0;
271
6640b0d5bf13 remove anystate processing in sequential seqrch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 268
diff changeset
28 st_time = getTime();
266
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
29 Search s = grep(argc,argv,true);
277
7b4bcc7b5ae6 nextTState implemented
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 272
diff changeset
30
271
6640b0d5bf13 remove anystate processing in sequential seqrch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 268
diff changeset
31 createAnyState(s.tg);
272
5aa9d01926f1 Cerium version no compile errors
kono
parents: 271
diff changeset
32 generateTState(s.tg->anyState,s.tg);
277
7b4bcc7b5ae6 nextTState implemented
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 272
diff changeset
33 // generateTState for startState. It is used in stateMatch.
7b4bcc7b5ae6 nextTState implemented
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 272
diff changeset
34 generateTState(s.tg->stateList,s.tg);
268
0e423d9f9647 remove error (remain 1 warning(no use variable))
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 266
diff changeset
35
266
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
36 FileMapReduce *fmp = new FileMapReduce(manager,TASK_EXEC,TASK_EXEC_DATA_PARALLEL,TASK_PRINT);
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
37 filename = fmp->init(argc, argv);
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
38 fmp->w->global = (void*)s.tg;
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
39 if (filename < 0) {
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
40 return -1;
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
41 }
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
42 fmp->division_out_size = sizeof(void*)*3; // *Result,*blockBegin,*blockEnd
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
43 task_init();
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
44 fmp->run_start(manager, filename);
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
45 manager->set_TMend(TMend);
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
46 return 0;
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
47 }
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
48
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
49 void
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
50 TMend(TaskManager *manager)
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
51 {
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
52 ed_time = getTime();
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
53 printf("Time: %0.6f\n",ed_time-st_time);
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
54 }
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
55
e51cac73e42a CeriumGrep start
masa
parents:
diff changeset
56 /* end */