#include /* tmpfile() */ #include /* exit() */ #include /* unlink() */ #include #include "util/refptr.h" #include "parser/parser.h" #include "nodes/Node.h" using namespace std; int usage(); void compile(const char * filename); int usage() { fprintf(stderr, "Usage: jtlc [options] \n"); exit(42); } int main(int argc, char * argv[]) { vector source_files; for (int i = 1; i < argc; i++) { if (argv[i][0] != '-') { source_files.push_back(argv[i]); } } if (source_files.size() < 1) { usage(); } for (int i = 0, num = source_files.size(); i < num; i++) { compile(source_files[i]); } return 0; } void compile(const char * filename) { string out_filename = string(filename) + ".c"; FILE * out = fopen(out_filename.c_str(), "w"); refptr tree = parse(filename); tree->process(out); fclose(out); // unlink(out_filename.c_str()); }