class IRGenDriver {
    public static void main(String argv[]) throws Exception {
	try {
	    Parser parser_obj = new Parser(new Yylex(System.in));
	    Ast.Program prog = (Ast.Program) parser_obj.parse().value;
	    Check.check(prog);
	    IRGen.gen(prog);
	} catch (ParseError exn) {
	    System.err.println(exn.getMessage());
	} catch (Check.CheckError exn) {
	    System.err.println(exn.getMessage());
	}
    }
}
