X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2FmatitacLib.ml;h=489e37c86417bbf9688b9bb816a933b56ff06b27;hb=f261b8315d0b14781ae78740feb476327083d664;hp=7a6d48663927cf590837a30b3516b7677a5f11b8;hpb=238b544db1786fbc68354fd62aa6b05983906997;p=helm.git diff --git a/helm/software/matita/matitacLib.ml b/helm/software/matita/matitacLib.ml index 7a6d48663..489e37c86 100644 --- a/helm/software/matita/matitacLib.ml +++ b/helm/software/matita/matitacLib.ml @@ -31,10 +31,6 @@ open GrafiteTypes exception AttemptToInsertAnAlias of LexiconEngine.status -let out = ref ignore -let set_callback f = out := f - - let slash_n_RE = Pcre.regexp "\\n" ;; let pp_ast_statement grafite_status stm = @@ -60,7 +56,6 @@ let dump f = let module G = GrafiteAst in let module L = LexiconAst in let module H = HExtlib in - Helm_registry.set_bool "matita.moo" false; let floc = H.dummy_floc in let nl_ast = G.Comment (floc, G.Note (floc, "")) in let pp_statement stm = @@ -75,33 +70,30 @@ 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 _)) -> () - | stm -> + | G.Executable (_, G.Macro (_, G.Inline (_, uri, params))) -> + let str = + 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 + | stm -> output_string och (pp_statement stm); nl (); nl () in let lexicon_parser_cb status cmd = output_string och (pp_lexicon cmd); nl (); nl () in -(* - let matita_engine_cb = function - | G.Executable (_, G.Macro (_, G.Inline _)) - | G.Executable (_, G.Command (_, G.Include _)) -> () - | ast -> -*) - let matitac_lib_cb = output_string och in begin fun () -> + Helm_registry.set_bool "matita.moo" false; GrafiteParser.set_grafite_callback grafite_parser_cb; - GrafiteParser.set_lexicon_callback lexicon_parser_cb; -(* - MatitaEngine.set_callback matita_engine_cb; -*) - set_callback matitac_lib_cb + GrafiteParser.set_lexicon_callback lexicon_parser_cb end, begin fun x -> close_out och; GrafiteParser.set_grafite_callback (fun _ _ -> ()); GrafiteParser.set_lexicon_callback (fun _ _ -> ()); - set_callback ignore; x + Helm_registry.set_bool "matita.moo" true; + x end ;; @@ -243,18 +235,19 @@ let compile atstart options fname = | [] -> lexicon_status, grafite_status | ((grafite,lexicon),None)::_ -> lexicon, grafite | ((_,l),Some _)::_ -> raise (AttemptToInsertAnAlias l) - with MatitaEngine.EnrichedWithStatus (GrafiteEngine.Macro (floc, f), lexicon, grafite) as exn -> match f (get_macro_context (Some grafite)) with - | _, GrafiteAst.Inline (_, style, suri, prefix, flavour) -> - let str = + | _, GrafiteAst.Inline (_, _suri, _params) -> +(* + let str = ApplyTransformation.txt_of_inline_macro style prefix suri ?flavour ~map_unicode_to_tex:(Helm_registry.get_bool "matita.paste_unicode_as_tex") in !out str; +*) aux_for_dump x lexicon grafite |_-> raise exn in @@ -275,8 +268,7 @@ let compile atstart options fname = *) clean_exit baseuri false) else - (if not (Helm_registry.get_bool "matita.moo" && - Filename.check_suffix fname ".mma") then begin + (if Helm_registry.get_bool "matita.moo" then begin (* 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; @@ -344,7 +336,7 @@ module F = let root_and_target_of opts mafile = try let include_paths = get_include_paths opts in - let root,baseuri,_,_ = + let root,baseuri,_,relpath = Librarian.baseuri_of_script ~include_paths mafile in let obj_writeable, obj_read_only = @@ -357,8 +349,8 @@ module F = LibraryMisc.obj_file_of_baseuri ~must_exist:false ~baseuri ~writable:false in - Some root, obj_writeable, obj_read_only - with Librarian.NoRootFor x -> None, "", "" + Some root, relpath, obj_writeable, obj_read_only + with Librarian.NoRootFor x -> None, "", "", "" ;; let mtime_of_source_object s =