]> matita.cs.unibo.it Git - helm.git/commitdiff
auxiliary executables (xoa, matitadep, probe, matex) ported to dune
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Tue, 10 Jan 2023 16:59:08 +0000 (17:59 +0100)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Tue, 10 Jan 2023 16:59:08 +0000 (17:59 +0100)
17 files changed:
matita/components/binaries/matex/Makefile
matita/components/binaries/matex/dune [new file with mode: 0644]
matita/components/binaries/matex/engine.ml
matita/components/binaries/matex/ground.ml
matita/components/binaries/matex/matex.ml
matita/components/binaries/matitadep/Makefile [deleted file]
matita/components/binaries/matitadep/dune [new file with mode: 0644]
matita/components/binaries/probe/Makefile [deleted file]
matita/components/binaries/probe/dune [new file with mode: 0644]
matita/components/binaries/probe/matitaList.ml
matita/components/binaries/probe/nCicScan.ml
matita/components/binaries/xoa/Makefile [deleted file]
matita/components/binaries/xoa/dune [new file with mode: 0644]
matita/components/binaries/xoa/engine.ml
matita/components/binaries/xoa/lib.ml
matita/components/binaries/xoa/lib.mli
matita/components/binaries/xoa/xoa.ml

index b437afb5b00925671ed2fc3420343e49d847b067..7783a057045642710034fd53111be2317b46b2b0 100644 (file)
@@ -1,9 +1,4 @@
 EXEC = matex
-VERSION=0.1.0
-
-REQUIRES = helm-ng_library
-
-include ../Makefile.common
 
 MATEX    = ./$(EXEC).native
 PROBE    = ../probe/probe.native
diff --git a/matita/components/binaries/matex/dune b/matita/components/binaries/matex/dune
new file mode 100644 (file)
index 0000000..e49bde6
--- /dev/null
@@ -0,0 +1,12 @@
+(executable
+  (name matex)
+  (public_name matex)
+  (promote (until-clean))
+  (libraries helm_ng_library)
+  (modules_without_implementation)
+  (modules alpha anticipate engine ground options TeXOutput kernel meta TeX matex)
+)
+
+(env
+  (_
+    (flags (:standard -thread -rectypes -w @A-52-4-34-37-45-9-44-48-6-32-20-58-7-57-3-68-69-70-50-29)))) ; -29 for non portable strings
index 324d114a949302b28788952074f9962714b80871..aef5180257f64b7e44578e066b8f5caacc11326c 100644 (file)
@@ -12,7 +12,7 @@
 module F = Filename
 module L = List
 module P = Printf
-module S = String
+(* module S = String *)
 
 module U = NUri
 module R = NReference
@@ -26,7 +26,7 @@ module K = Kernel
 module T = TeX
 module O = TeXOutput
 module A = Anticipate
-module M = Meta
+(* module M = Meta *)
 module N = Alpha
 
 type status = {
@@ -86,7 +86,7 @@ let get_head = function
       end 
    | _               -> None
 
-let proc_sort st is = function
+let proc_sort _st is = function
    | C.Prop             -> T.Macro "PROP" :: is
    | C.Type [`Type, u]  -> T.Macro "TYPE" :: T.arg (U.string_of_uri u) :: is
    | C.Type [`CProp, u] -> T.Macro "CROP" :: T.arg (U.string_of_uri u) :: is
@@ -214,7 +214,7 @@ let rec proc_proof st ris t = match t with
       let ris = T.Macro "STEP" :: mk_inferred st t ris in
       let tts = L.rev_map (proc_term st []) rts in
       mk_exit st (T.rev_mk_args tts ris)
-   | C.Match (w, u, v, ts) ->
+   | C.Match (_w, _u, v, ts) ->
       let rts = X.rev_neg_filter (K.not_prop2 st.c) [v] ts in
       let ris = T.Macro "DEST" :: mk_inferred st t ris in
       let tts = L.rev_map (proc_term st []) rts in
@@ -290,13 +290,13 @@ let proc_pair s ss u = function
          O.out_text och (text_t s name t);
       close_out och
 
-let proc_fun ss (r, s, i, u, t) =
+let proc_fun ss (_r, s, _i, u, t) =
    proc_pair s (s :: ss) u (Some t)
 
-let proc_constructor ss (r, s, u) =
+let proc_constructor ss (_r, s, u) =
    proc_pair s (s :: ss) u None
 
-let proc_type ss (r, s, u, cs) =
+let proc_type ss (_r, s, u, cs) =
    proc_pair s (s :: ss) u None;
    L.iter (proc_constructor ss) cs
 
index 7eebedb7d13e8fa810c4dc0eb867aa038362e474..3c75b4032d6dfd6620334d31a14e0d5e3f024c64 100644 (file)
@@ -9,7 +9,7 @@
      \ /   This software is distributed as is, NO WARRANTY.     
       V_______________________________________________________________ *)
 
-module L = List
+(* module L = List *)
 module P = Printf
 module S = String
 
@@ -48,7 +48,7 @@ let rec foldi_left mapi i a = function
    | []       -> a
    | hd :: tl -> foldi_left mapi (succ i) (mapi i a hd) tl
 
-let rec rev_mapi mapi i l =
+let rev_mapi mapi i l =
    let map i a hd = mapi i hd :: a in
    foldi_left map i [] l
 
index ddd41304914bc1ba7235391c4668b1153c1d18e9..66faa98597012b4eeb34ff7484307abaca0ec955 100644 (file)
@@ -19,7 +19,7 @@ module L = Librarian
 module X = Ground
 module G = Options
 module E = Engine
-module O = TeXOutput
+(* module O = TeXOutput *)
 module K = Kernel
 
 let help_O = "<dir> Set this output directory"
diff --git a/matita/components/binaries/matitadep/Makefile b/matita/components/binaries/matitadep/Makefile
deleted file mode 100644 (file)
index 2fe33e6..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-EXEC = matitadep
-VERSION=0.1.0
-
-REQUIRES = helm-ng_library
-
-include ../Makefile.common
diff --git a/matita/components/binaries/matitadep/dune b/matita/components/binaries/matitadep/dune
new file mode 100644 (file)
index 0000000..8988331
--- /dev/null
@@ -0,0 +1,12 @@
+(executable
+  (name matitadep)
+  (public_name matitadep)
+  (promote (until-clean))
+  (libraries helm_ng_library)
+  (modules_without_implementation)
+  (modules matitadep)
+)
+
+(env
+  (_
+    (flags (:standard -thread -rectypes -w @A-52-4-34-37-45-9-44-48-6-32-20-58-7-57-3-68-69-70-50-29)))) ; -29 for non portable strings
diff --git a/matita/components/binaries/probe/Makefile b/matita/components/binaries/probe/Makefile
deleted file mode 100644 (file)
index 24daac4..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-EXEC = probe
-VERSION=0.1.0
-
-REQUIRES = helm-ng_library
-
-include ../Makefile.common
diff --git a/matita/components/binaries/probe/dune b/matita/components/binaries/probe/dune
new file mode 100644 (file)
index 0000000..19e20a3
--- /dev/null
@@ -0,0 +1,15 @@
+(ocamllex macLexer)
+
+(executable
+  (name probe)
+  (public_name probe)
+  (promote (until-clean))
+  (libraries helm_ng_library)
+  (modules_without_implementation)
+  (modules macLexer engine error matitaRemove nCicScan matitaList options probe)
+)
+
+(env
+  (_
+    (flags (:standard -thread -rectypes -w @A-52-4-34-37-45-9-44-48-6-32-20-58-7-57-3-68-69-70-50-29)))) ; -29 for non portable strings
+          
index 95250b26c13a65888f4af69635227353b7afcd1c..e00f0c76c359c179ebe13d82711d7f41750bfbde 100644 (file)
@@ -11,7 +11,6 @@
 
 module A = Array
 module F = Filename
-module P = Printf
 module S = String
 module Y = Sys
 
index 736baafbcc4e67546d7ab09deab874a5473fa487..3accc4e71a64593b116ce6797ebb0cad49491a43 100644 (file)
@@ -39,7 +39,7 @@ let add_attr n (_, xf, _) = O.add_xflavour n (xf:>O.def_xflavour)
 
 let add_ind n = O.add_xflavour n `Inductive
 
-let rec set_list c ts cts =
+let set_list c ts cts =
   let map cts t = (c, t) :: cts in
   L.fold_left map cts ts
 
@@ -84,7 +84,7 @@ let rec scan_term st = function
   | (_, C.Sort _)                :: tl -> scan_term (inc st) tl
   | (c, C.Rel i)                 :: tl -> scan_term (scan_lref st c i) tl
   | (_, C.Const p)               :: tl -> scan_term (scan_gref st p) tl
-  | (_, C.Appl [])               :: tl -> X.malformed ()
+  | (_, C.Appl [])               ::  -> X.malformed ()
   | (c, C.Appl ts)               :: tl ->
     scan_term (add st (pred (L.length ts))) (set_list c ts tl)
   | (c, C.Match (_, t0, t1, ts)) :: tl ->
diff --git a/matita/components/binaries/xoa/Makefile b/matita/components/binaries/xoa/Makefile
deleted file mode 100644 (file)
index 1933a20..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-EXEC = xoa
-VERSION=0.2.0
-
-REQUIRES = helm-registry
-
-include ../Makefile.common
diff --git a/matita/components/binaries/xoa/dune b/matita/components/binaries/xoa/dune
new file mode 100644 (file)
index 0000000..631bbcb
--- /dev/null
@@ -0,0 +1,12 @@
+(executable
+  (name xoa)
+  (public_name xoa)
+  (promote (until-clean))
+  (libraries helm_registry)
+  (modules_without_implementation)
+  (modules ast lib ast engine xoa)
+)
+
+(env
+  (_
+    (flags (:standard -thread -rectypes -w @A-52-4-34-37-45-9-44-48-6-32-20-58-7-57-3-68-69-70-50-29)))) ; -29 for non portable strings
index 47770e71077b8dda8c87b52136a28eedf56246f4..1c5ae33180b312445d0ffbbe75f1c35ad8caaaa0 100644 (file)
@@ -52,7 +52,7 @@ let mk_exists ooch noch c v =
    let pre_appl n = P.sprintf "%s %s" (pre n) ele_seq in
    let pre_type   = string_iter " → " pre_appl c in
 
-   let qm       = "?" in
+   let qm _n      = "?" in
    let qm_set     = string_iter " " qm v in
    let qm_pre     = string_iter " " qm c in
 
@@ -99,7 +99,7 @@ let mk_or ooch noch c =
    let pre_list   = string_iter "," pre c in
    let pre_seq    = string_iter " " pre c in
 
-   let qm       = "?" in
+   let qm _n      = "?" in
    let qm_pre     = string_iter " " qm c in
 
    let term n     = P.sprintf "term 29 P%u" (c - n) in
@@ -139,7 +139,7 @@ let mk_and ooch noch c =
    let pre_type   = string_iter " → " pre c in
    let pre_seq    = string_iter " " pre c in
 
-   let qm       = "?" in
+   let qm _n      = "?" in
    let qm_pre     = string_iter " " qm c in
 
    let term n     = P.sprintf "term 34 P%u" (c - n) in
index f2bf31757a88a9887d1f13a167d5b3ddd004b129..9684dc55873f3998b3eaf1b8357f77ec37b79012 100644 (file)
@@ -14,51 +14,51 @@ module K = Sys
 
 module R = Helm_registry
 
-let template = "matita.ma.templ"
+let template = "../../../matita/matita.ma.templ"
 
 let myself = F.basename Sys.argv.(0)
 
-let get_preamble conf =
-   R.load_from conf;
-   let rt_base_dir = R.get_string "matita.rt_base_dir" in
-   F.concat rt_base_dir template
+let rt_base_dir = F.dirname Sys.argv.(0)
+
+let get_preamble () =
+  F.concat rt_base_dir template
 
 let copy_preamble preamble och =
-   let ich = open_in preamble in
-   let rec read () =
-      Printf.fprintf och "%s\n" (input_line ich); read ()
-   in
-   try read () with End_of_file -> close_in ich
+  let ich = open_in preamble in
+  let rec read () =
+    Printf.fprintf och "%s\n" (input_line ich); read ()
+  in
+  try read () with End_of_file -> close_in ich
 
 let print_header def och =
   let msg = if def then "LOGIC" else "GROUND NOTATION" in
-   let stars = String.make (72 - String.length msg) '*' in
-   Printf.fprintf och "(* %s %s*)\n\n" msg stars
+  let stars = String.make (72 - String.length msg) '*' in
+  Printf.fprintf och "(* %s %s*)\n\n" msg stars
 
 let print_comment och =
-   let msg = Printf.sprintf "NOTE: This file was generated by %s, do not edit" myself in
-   let stars = String.make (72 - String.length msg) '*' in
-   Printf.fprintf och "(* %s %s*)\n\n" msg stars
+  let msg = Printf.sprintf "NOTE: This file was generated by %s, do not edit" myself in
+  let stars = String.make (72 - String.length msg) '*' in
+  Printf.fprintf och "(* %s %s*)\n\n" msg stars
 
 let exists_out name =
-   let path = [
-      R.get_string "xoa.output_dir";
-      name
-   ] in
-   let name = List.fold_left F.concat "" path in
-   K.file_exists (name ^ ".ma")
+  let path = [
+    R.get_string "xoa.output_dir";
+    name
+  ] in
+  let name = List.fold_left F.concat "" path in
+  K.file_exists (name ^ ".ma")
 
 let open_out def preamble name =
-   let path = [
-      R.get_string "xoa.output_dir";
-      name
-   ] in
-   let name = List.fold_left F.concat "" path in
-   let och = open_out (name ^ ".ma") in
-   copy_preamble preamble och;
-   print_header def och;
-   print_comment och;
-   och
+  let path = [
+    R.get_string "xoa.output_dir";
+    name
+  ] in
+  let name = List.fold_left F.concat "" path in
+  let och = open_out (name ^ ".ma") in
+  copy_preamble preamble och;
+  print_header def och;
+  print_comment och;
+  och
 
 let out_include och s =
-   Printf.fprintf och "include \"%s\".\n\n" s
+  Printf.fprintf och "include \"%s\".\n\n" s
index cc66968d330c8dd0177b5f926e2622aa96737912..2cd5fb53f16c752e4f70fefb1262d03f65c858c1 100644 (file)
@@ -9,7 +9,7 @@
      \ /   This software is distributed as is, NO WARRANTY.     
       V_______________________________________________________________ *)
 
-val get_preamble: string -> string
+val get_preamble: unit -> string
 
 val exists_out: string -> bool
 
index 64ce87b175ce1b96d17b4d2ce9bb64e9f9aa75b3..3d35f1932145b3e050c63d8c126d33557831d8c3 100644 (file)
@@ -18,6 +18,9 @@ module E = Engine
 let incremental = ref true
 let separate = ref false
 
+let preamble =
+  L.get_preamble ()
+
 let clear () =
   incremental := true;
   separate := false;
@@ -33,7 +36,7 @@ let unm_and s =
   Scanf.sscanf s "%u" A.mk_and
 
 let process_centralized conf =
-  let preamble = L.get_preamble conf in
+  R.load_from conf;
   if R.has "xoa.objects" && R.has "xoa.notations" then begin
     let ooch = L.open_out true preamble (R.get_string "xoa.objects") in
     let noch = L.open_out false preamble (R.get_string "xoa.notations") in
@@ -71,7 +74,7 @@ let generate (p, o, n) d =
   end
 
 let process_distributed conf =
-  let preamble = L.get_preamble conf in
+  R.load_from conf;
   if R.has "xoa.objects" && R.has "xoa.notations" then begin
     let st = preamble, R.get_string "xoa.objects", R.get_string "xoa.notations" in
     List.iter (generate st) (R.get_list unm_ex "xoa.ex");