/* splc0.c — SPL compiler CLI */ #include #include #include static char *read_file(const char *path, long *out_len) { FILE *f = fopen(path, "rb"); if (!f) { perror("fopen"); return NULL; } fseek(f, 0, SEEK_END); long len = ftell(f); fseek(f, 0, SEEK_SET); char *buf = malloc((size_t)len + 1); if (!buf) { fclose(f); return NULL; } fread(buf, 1, (size_t)len, f); fclose(f); buf[len] = '\0'; *out_len = len; return buf; } int main(int argc, char **argv) { if (argc < 2) { fprintf(stderr, "Usage: splc0 [--dump ] [out]\n"); return 1; } if (strcmp(argv[1], "--dump") == 0) // return cmd_dump(argc - 2, argv + 2); return 0; if (strcmp(argv[1], "--help") == 0) { printf("splc0 compile\n"); printf("splc0 --dump dump: tokens,cst,ast,ir,mcode,all\n"); return 0; } // return cmd_compile(argc - 1, argv + 1); return 0; }