#include #include #include int zig1_run(char* program, char** msg); int zig1_run_file(char* fname, char** msg); static void usage(char* argv0) { fprintf(stderr, "Usage: %s program.zig\n", argv0); } int main(int argc, char** argv) { if (argc != 2) { usage(argv[0]); return 1; } char* msg; switch (zig1_run_file(argv[1], &msg)) { case 0: return 0; break; case 1: fprintf(stderr, "panic: %s\n", msg); free(msg); return 0; break; case 2: fprintf(stderr, "interpreter error: %s\n", msg); free(msg); return 1; break; case 3: return 1; break; } }