diff regexParser/CeriumGrep.cc @ 312:c9ac6f06e706

add loop
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 09 Feb 2016 10:59:22 +0900
parents bdfe0a32c48f
children a4484c02cba5
line wrap: on
line diff
--- a/regexParser/CeriumGrep.cc	Mon Feb 08 22:12:14 2016 +0900
+++ b/regexParser/CeriumGrep.cc	Tue Feb 09 10:59:22 2016 +0900
@@ -8,12 +8,13 @@
 #include "grepWalk.h"
 #include "fileread.h"
 #include "threadedSearch.h"
+#include "generateSequentialSearch.h"
 
 Search grep(int argc,char **argv,bool parallel)
 {
     bool generate = true;
     bool subset = false;
-    bool generateSequentialSearch = false;
+    void  (*generateSequentialSearch)(TransitionGeneratorPtr) = NULL;
     bool ts = false;
     char *filename = NULL;
     Search s;
@@ -30,7 +31,11 @@
         } else if (strcmp(argv[i],"-subset") == 0) {
             subset = true;
         } else if (strcmp(argv[i],"-seq") == 0) {
-            generateSequentialSearch = true;
+            generateSequentialSearch = exportState;
+        } else if (strcmp(argv[i],"-loop") == 0) {
+            generateSequentialSearch = exportStateLoop;
+        } else if (strcmp(argv[i],"-cbc") == 0) {
+            generateSequentialSearch = exportStateCbC;
         } else if (strcmp(argv[i],"-file") == 0) {
             s.filename = filename = argv[i+1]; i++;
         } else if (strcmp(argv[i],"-ts") == 0) {
@@ -56,7 +61,7 @@
         subsetConstruction(tgv.tg);   // Determinization
         printState(tgv.tg);
         if (generateSequentialSearch) {
-            exportState(tgv.tg);
+            generateSequentialSearch(tgv.tg);
         }
     }