X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2Fmatitac.ml;h=c29b507792f698035809c66bd055827b85e4044b;hb=c66e9d17eda5e5defcb363e42d891d2b407cf7c3;hp=64870249019b5e8e79ef29f062870bf5504d4584;hpb=ac813b7e251e4bac1a8a16befa628203775771ca;p=helm.git diff --git a/helm/matita/matitac.ml b/helm/matita/matitac.ml index 648702490..c29b50779 100644 --- a/helm/matita/matitac.ml +++ b/helm/matita/matitac.ml @@ -72,27 +72,36 @@ let dbd = ~user:(Helm_registry.get "db.user") ~database:(Helm_registry.get "db.database") () -let _ = MetadataDb.clean ~dbd ~owner:(Helm_registry.get "matita.owner") + +let owner = (Helm_registry.get "matita.owner") ;; +let _ = MetadataTypes.ownerize_tables owner ;; +let _ = MatitaDb.clean_owner_environment dbd owner ;; +let _ = MatitaDb.create_owner_environment dbd owner ;; + let disambiguator = new MatitaDisambiguator.disambiguator ~parserr ~dbd ~chooseUris:mono_uris_callback ~chooseInterp:mono_interp_callback () let console = new tty_console -let currentProof = (new MatitaProof.currentProof :> MatitaTypes.currentProof) -let interpreter = - new MatitaInterpreter.interpreter - ~disambiguator ~currentProof ~console ~dbd () +let interpreter = MatitaInterpreter.interpreter ~disambiguator ~console () let run_script fname = - message (sprintf "execution of %s started." fname); + message (sprintf "execution of %s started:" fname); let script = let ic = open_in fname in - let ast = snd (CicTextualParser2.parse_script (Stream.of_channel ic)) in + let ast = + try + snd (CicTextualParser2.parse_script (Stream.of_channel ic)) + with + exn -> + error (explain exn); + assert false (* should be something like (Unix.exit 1) *) + in close_in ic; ast in let rec aux = function - | [] -> () + | [] -> () (* script is over *) | DisambiguateTypes.Comment _ :: tl -> aux tl | DisambiguateTypes.Command ast :: tl -> let loc = @@ -107,7 +116,8 @@ let run_script fname = else aux tl in - aux script + aux script; + message (sprintf "execution of %s completed." fname) let _ = List.iter run_script scripts