+let eval_from_moo ?do_heavy_checks ?include_paths ?clean_baseuri status fname cb
+=
+ let ast_of_cmd cmd =
+ GrafiteAst.Executable (DisambiguateTypes.dummy_floc,
+ GrafiteAst.Command (DisambiguateTypes.dummy_floc,
+ (GrafiteAst.reash_cmd_uris cmd)))
+ in
+ let moo, metadata = MatitaMoo.load_moo fname in
+ List.iter
+ (fun ast ->
+ let ast = ast_of_cmd ast in
+ cb !status ast;
+ status :=
+ eval_ast ?do_heavy_checks ?include_paths ?clean_baseuri !status ast)
+ moo;
+ List.iter
+ (fun m ->
+ let ast =
+ ast_of_cmd (GrafiteAst.Metadata (DisambiguateTypes.dummy_floc, m))
+ in
+ cb !status ast;
+ status :=
+ eval_ast ?do_heavy_checks ?include_paths ?clean_baseuri !status ast)
+ metadata
+