screen shrinking done
[mc1516pa.git] / modelchecker / main.c
index e2e330b..d8d7e23 100644 (file)
@@ -4,19 +4,18 @@
 #include <time.h>
 
 #include <sylvan.h>
+
 #include "mc.h"
 #include "sokoban.h"
-
-//#include <sokoban.h>
-//#include <object.h>
-//#include <coord.h>
+#include "uthash.h"
 
 //Global variables
 bool DEBUG = false;
 strategy strat = HYBRID;
 
-void usage(char *prg){
-       fprintf(stderr, 
+void usage(char *prg)
+{
+       fprintf(stderr,
                "Usage:\n"
                "\t%s [opts] [FILE [FILE [...]]]\n"
                "\n"
@@ -36,27 +35,36 @@ void usage(char *prg){
                "\t         when no file is specified stdin will be used\n", prg);
 }
 
-void solve(FILE *inputstream){
+void solve(FILE *inputstream)
+{
        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);
+       sokoban_screen *screen = parse_screen(inputstream);
+       if (screen == NULL) printf("Something went wrong...\n");
+       sokoban_print(screen);
+       sokoban_free(screen);
+       //parse_screen(inputstream);
        time_end_read = clock();
 
        time_start_encode = clock();
        switch(strat){
        case COORD:
+               if(DEBUG) fprintf(stderr, "Encoding coordinate based\n");
+               break;
        case OBJECT:
+               if(DEBUG) fprintf(stderr, "Encoding object based\n");
+               break;
        case HYBRID:
+               if(DEBUG) fprintf(stderr, "Encoding hybrid based\n");
+               break;
        default:
                fprintf(stderr, "Huh?");
                exit(2);
        }
        time_end_encode = clock();
 
-       
        // Future: SMC
        fprintf(stderr, "Reading: %fs\n",
                ((double) (time_end_read-time_start_read))/CLOCKS_PER_SEC);
@@ -64,7 +72,8 @@ void solve(FILE *inputstream){
                ((double) (time_end_encode-time_start_encode))/CLOCKS_PER_SEC);
 }
 
-int main(int argc, char **argv){
+int main(int argc, char **argv)
+{
        int optchar;
 
        while((optchar = getopt(argc, argv, "cdhoy")) != -1){
@@ -108,7 +117,6 @@ int main(int argc, char **argv){
        for(int filepathindex = optind; filepathindex < argc; filepathindex++){
                char *currentfilepath = argv[filepathindex];
                fprintf(stderr, "Processing: %s\n", currentfilepath);
-               if(DEBUG) fprintf(stderr, "Strategy: %d\n", strat);
                FILE *currentfile = fopen(currentfilepath, "r");
                if(DEBUG) fprintf(stderr, "Opening file\n");
                solve(currentfile);