let parse_error s =
    let pos = Parsing.symbol_start_pos() in
    print_string ("in file " ^ (Filename.basename pos.Lexing.pos_fname) ^ ": "^ s^" at line ");
    print_int pos.Lexing.pos_lnum;
    print_string " at columns ";
    print_int (Parsing.symbol_start() - pos.Lexing.pos_bol);
    print_string("-");
    print_int (Parsing.symbol_end() - pos.Lexing.pos_bol);
    print_string "\n";
    flush stdout