X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2FmatitacLib.ml;h=7580ebf2969545acb112ac0f2ca909bdc466feaa;hb=62a12215bbf8686fab44e8db25babd3095983c8f;hp=5a14b2703bc8a24843bb25ff9f3ddda91b6b99a1;hpb=c81b4f59a7f58dc1e6c3ea1fc792bcce6234f866;p=helm.git diff --git a/helm/software/matita/matitacLib.ml b/helm/software/matita/matitacLib.ml index 5a14b2703..7580ebf29 100644 --- a/helm/software/matita/matitacLib.ml +++ b/helm/software/matita/matitacLib.ml @@ -70,14 +70,14 @@ let dump f = let nl () = output_string och (pp_statement nl_ast) in MatitaMisc.out_preamble och; let grafite_parser_cb status = function - | G.Executable (_, G.Macro (_, G.Inline (_, style, uri, prefix, flavour))) -> + | G.Executable (_, G.Macro (_, G.Inline (_, uri, params))) -> let str = - ApplyTransformation.txt_of_inline_macro style prefix uri - ?flavour + ApplyTransformation.txt_of_inline_macro params uri ~map_unicode_to_tex: (Helm_registry.get_bool "matita.paste_unicode_as_tex") in output_string och str + | G.Executable (loc, G.Command (_, G.Include (_, false, _))) -> () | stm -> output_string och (pp_statement stm); nl (); nl () in @@ -226,20 +226,21 @@ let compile atstart options fname = if not (Helm_registry.get_bool "matita.verbose") then (fun _ _ -> ()) else pp_ast_statement in - let lexicon_status, grafite_status = - let rec aux_for_dump x lexicon_status grafite_status = + let grafite_status = + let rec aux_for_dump x grafite_status = try match MatitaEngine.eval_from_stream ~first_statement_only:false ~include_paths - lexicon_status grafite_status buf x + grafite_status buf x with - | [] -> lexicon_status, grafite_status - | ((grafite,lexicon),None)::_ -> lexicon, grafite - | ((_,l),Some _)::_ -> raise (AttemptToInsertAnAlias l) + | [] -> grafite_status + | (g,None)::_ -> g + | (g,Some _)::_ -> + raise (AttemptToInsertAnAlias (GrafiteTypes.get_lexicon g)) with MatitaEngine.EnrichedWithStatus - (GrafiteEngine.Macro (floc, f), lexicon, grafite) as exn -> + (GrafiteEngine.Macro (floc, f), grafite) as exn -> match f (get_macro_context (Some grafite)) with - | _, GrafiteAst.Inline (_, style, suri, prefix, flavour) -> + | _, GrafiteAst.Inline (_, _suri, _params) -> (* let str = ApplyTransformation.txt_of_inline_macro style prefix suri @@ -249,15 +250,15 @@ let compile atstart options fname = in !out str; *) - aux_for_dump x lexicon grafite + aux_for_dump x grafite |_-> raise exn in - aux_for_dump print_cb lexicon_status grafite_status + aux_for_dump print_cb grafite_status in let elapsed = Unix.time () -. time in let proof_status,moo_content_rev,lexicon_content_rev = grafite_status.proof_status, grafite_status.moo_content_rev, - lexicon_status.LexiconEngine.lexicon_content_rev + (GrafiteTypes.get_lexicon grafite_status).LexiconEngine.lexicon_content_rev in if proof_status <> GrafiteTypes.No_proof then (HLog.error @@ -273,6 +274,8 @@ let compile atstart options fname = (* FG: we do not generate .moo when dumping .mma files *) GrafiteMarshal.save_moo moo_fname moo_content_rev; LexiconMarshal.save_lexicon lexicon_fname lexicon_content_rev; + NCicLibrary.serialize ~baseuri:(NUri.uri_of_string baseuri) + (GrafiteTypes.get_dump grafite_status) end; let tm = Unix.gmtime elapsed in let sec = string_of_int tm.Unix.tm_sec ^ "''" in @@ -299,7 +302,7 @@ let compile atstart options fname = ~present:lexicon_status ~past:initial_lexicon_status; *) clean_exit baseuri false - | MatitaEngine.EnrichedWithStatus (exn, _lexicon, _grafite) as exn' -> + | MatitaEngine.EnrichedWithStatus (exn, _grafite) as exn' -> (match exn with | Sys.Break -> HLog.error "user break!" | HExtlib.Localized (floc,CicNotationParser.Parse_error err) -> @@ -397,7 +400,7 @@ module F = Printf.printf "rm %s\n" generated; flush stdout; r end else - compile ignore options fname + compact (compile ignore options fname) ;; let load_deps_file = Librarian.load_deps_file;;