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