improved makefile
[mc1516pa.git] / modelchecker / main.c
index 76f5e95..e2e330b 100644 (file)
@@ -1,15 +1,19 @@
 #include <stdio.h>
 #include <stdbool.h>
 #include <ctype.h>
+#include <time.h>
 
 #include <sylvan.h>
 #include "mc.h"
+#include "sokoban.h"
 
 //#include <sokoban.h>
 //#include <object.h>
 //#include <coord.h>
 
+//Global variables
 bool DEBUG = false;
+strategy strat = HYBRID;
 
 void usage(char *prg){
        fprintf(stderr, 
@@ -33,24 +37,34 @@ void usage(char *prg){
 }
 
 void solve(FILE *inputstream){
-       int buffer;
-       while((buffer = fgetc(inputstream)) != EOF){
-               printf("%c", buffer);
+       clock_t time_start_read, time_end_read;
+       clock_t time_start_encode, time_end_encode;
+
+       time_start_read = clock();
+       //struct sokoban_screen *screen = parse_screen(inputstream);
+       parse_screen(inputstream);
+       time_end_read = clock();
+
+       time_start_encode = clock();
+       switch(strat){
+       case COORD:
+       case OBJECT:
+       case HYBRID:
+       default:
+               fprintf(stderr, "Huh?");
+               exit(2);
        }
-       // Alex:
-       // Screen reading
-       // - Removing outside walls
-       // - Bucket fill
-       // - [tile]
-       // - tile = structure {int, int, enumtile}
+       time_end_encode = clock();
 
-       // Both: Encoding in both schemes
        
        // Future: SMC
+       fprintf(stderr, "Reading: %fs\n",
+               ((double) (time_end_read-time_start_read))/CLOCKS_PER_SEC);
+       fprintf(stderr, "Encoding: %fs\n",
+               ((double) (time_end_encode-time_start_encode))/CLOCKS_PER_SEC);
 }
 
 int main(int argc, char **argv){
-       strategy strat = HYBRID;
        int optchar;
 
        while((optchar = getopt(argc, argv, "cdhoy")) != -1){