#include #include #include #include "compiler.h" #include "node.h" extern FILE *yyin; extern int yyparse(void); extern struct node *root_node; int main(int argc, char **argv) { if (argc != 2) { fprintf(stderr, "Usage: %s \n", argv[0]); return 1; } yyin = fopen(argv[1], "r"); if (!yyin) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } int result = yyparse(); if(!feof(yyin)) { assert(false); } node_print(root_node, stdout, 0); printf("\n"); struct ir *ir = compile(root_node); type_cache_cleanup(); return result; }