exception Corrupt_moo of string
exception Version_mismatch of string
-type ast_command = (Cic.term, Cic.obj) GrafiteAst.command
+type ast_command = Cic.obj GrafiteAst.command
type moo = ast_command list
let marshal_flags = []
in
let appl_pattern = aux cic_appl_pattern in
GrafiteAst.Interpretation (loc, dsc, args, appl_pattern)
- | GrafiteAst.Coercion (loc, term, close) ->
- GrafiteAst.Coercion (loc, CicUtil.rehash_term term, close)
+ | GrafiteAst.Coercion (loc, uri, close) ->
+ GrafiteAst.Coercion (loc, rehash_uri uri, close)
| GrafiteAst.Notation _
| GrafiteAst.Alias _ as cmd -> cmd
| cmd ->
prerr_endline "Found a command not expected in a .moo:";
- prerr_endline (GrafiteAstPp.pp_cic_command cmd);
+ let obj_pp _ = assert false in
+ prerr_endline (GrafiteAstPp.pp_command ~obj_pp cmd);
assert false
(** .moo file format
*)
let save_moo ~fname moo =
+ let ensure_path_exists path =
+ let dir = Filename.dirname path in
+ HExtlib.mkdir dir
+ in
+ ensure_path_exists fname;
let oc = open_out fname in
let marshalled = Marshal.to_string (List.rev moo) marshal_flags in
let checksum = Hashtbl.hash marshalled in