main.c (751B) - Raw
1 #include "common.h" 2 3 #include <stdbool.h> 4 #include <stdio.h> 5 #include <stdlib.h> 6 7 int zig0Run(char* program, char** msg); 8 int zig0RunFile(char* fname, char** msg); 9 10 static void usage(const char* argv0) { 11 fprintf(stderr, "Usage: %s program.zig\n", argv0); 12 } 13 14 int main(int argc, char** argv) { 15 if (argc != 2) { 16 usage(argv[0]); 17 return 1; 18 } 19 20 char* msg; 21 switch (zig0RunFile(argv[1], &msg)) { 22 case 0: 23 return 0; 24 break; 25 case 1: 26 fprintf(stderr, "panic: %s\n", msg); 27 free(msg); 28 return 0; 29 break; 30 case 2: 31 fprintf(stderr, "interpreter error: %s\n", msg); 32 free(msg); 33 return 1; 34 break; 35 case 3: 36 return 1; 37 break; 38 } 39 }