]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/matitacLib.ml
FIX OF THE PREVIOUS EXPERIMENTAL COMMIT:
[helm.git] / helm / software / matita / matitacLib.ml
index c96fdf82db4a7c8d0793d00ce11d84d78c3f30c8..c0c3d094188079b715766ca2ce61d3bb210efb37 100644 (file)
@@ -77,7 +77,7 @@ let dump f =
                  (Helm_registry.get_bool "matita.paste_unicode_as_tex")
         in
          output_string och str
-      | G.Executable (loc, G.Command (_, G.Include (_, true, _))) -> ()
+      | G.Executable (loc, G.Command (_, G.Include (_, false, _))) -> ()
       | stm ->
          output_string och (pp_statement stm); nl (); nl ()
    in
@@ -226,18 +226,19 @@ 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 (_, _suri, _params) ->
 (*              
@@ -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;
+        NRstatus.Serializer.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;;