#include "ast.hpp" #include #include "parser.hpp" #include "compiler.hpp" #include "error.hpp" void yy::parser::error(const yy::location& loc, const std::string& msg) { std::cerr << "An error occured: " << msg << std::endl; } int main(int argc, char** argv) { if(argc != 2) { std::cerr << "please enter a file to compile." << std::endl; exit(1); } compiler cmp(argv[1]); try { cmp("program.o"); } catch(unification_error& err) { err.pretty_print(std::cerr, cmp.get_file_manager(), cmp.get_type_manager()); } catch(type_error& err) { err.pretty_print(std::cerr, cmp.get_file_manager()); } catch (compiler_error& err) { err.pretty_print(std::cerr, cmp.get_file_manager()); } }