X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=modelchecker%2Fmain.c;h=d8d7e2323f285f52652872c1f1e1e9e4c3136fcd;hb=59b2b66a7c7b6585ebd30e8c530b9f826bcc70e9;hp=76f5e95430bd9e185aa7cdb9b2adc351524b823c;hpb=1f2f3bf57f4c245c9c0a065bff85427e9afcca8b;p=mc1516pa.git diff --git a/modelchecker/main.c b/modelchecker/main.c index 76f5e95..d8d7e23 100644 --- a/modelchecker/main.c +++ b/modelchecker/main.c @@ -1,18 +1,21 @@ #include #include #include +#include #include -#include "mc.h" -//#include -//#include -//#include +#include "mc.h" +#include "sokoban.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" @@ -32,25 +35,45 @@ void usage(char *prg){ "\t when no file is specified stdin will be used\n", prg); } -void solve(FILE *inputstream){ - int buffer; - while((buffer = fgetc(inputstream)) != EOF){ - printf("%c", buffer); +void solve(FILE *inputstream) +{ + clock_t time_start_read, time_end_read; + clock_t time_start_encode, time_end_encode; + + time_start_read = clock(); + 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); } - // 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 main(int argc, char **argv) +{ int optchar; while((optchar = getopt(argc, argv, "cdhoy")) != -1){ @@ -94,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);