From 14d2f1fd1ebe1cac6f918335c0f69ba8ee838349 Mon Sep 17 00:00:00 2001 From: Erwan Jahier <erwan.jahier@univ-grenoble-alpes.fr> Date: Thu, 28 Nov 2024 11:30:25 +0100 Subject: [PATCH] build: git rid of Warning 69 --- lib/astTab.ml | 118 ++++++++++++++++++++--------------------- lib/l2lExpandMetaOp.ml | 8 +-- lib/lic2soc.ml | 6 +-- lib/soc2c.ml | 6 +-- 4 files changed, 68 insertions(+), 70 deletions(-) diff --git a/lib/astTab.ml b/lib/astTab.ml index 300bc6dd..ebe6a4f7 100644 --- a/lib/astTab.ml +++ b/lib/astTab.ml @@ -1,6 +1,6 @@ -(* Time-stamp: <modified the 29/08/2019 (at 15:24) by Erwan Jahier> *) +(* Time-stamp: <modified the 28/11/2024 (at 11:28) by Erwan Jahier> *) -(** +(** Table des infos sources : une couche au dessus de AstV6 pour mieux ranger les packages et les modèles et faciliter la résolution des identificateurs. @@ -42,9 +42,9 @@ let dbg = (Lv6Verbose.get_flag "ast") dans la partie provide ou body. Il contient aussi une table des items exportés pour faciliter le - traitement des "use" du package. C'est une correspondance + traitement des "use" du package. C'est une correspondance - nature + nom simple -> nom complet + nature + nom simple -> nom complet (c.a.d. ??? + AstV6.item_ident -> Lv6Id.long) *) @@ -53,7 +53,7 @@ type pack_mng = { (* le lexeme associé au package? *) pm_lxm : Lxm.t; (* le source brut *) - pm_raw_src : AstV6.pack_info; + (* pm_raw_src : AstV6.pack_info; *) (* le source expansé *) pm_actual_src : AstV6.pack_given; (* table "brute" des items provided *) @@ -83,24 +83,24 @@ type t = { st_raw_mod_tab : (Lv6Id.t , model_info srcflagged) Hashtbl.t ; st_raw_pack_tab : (Lv6Id.pack_name , pack_info srcflagged) Hashtbl.t ; (* table des managers de packs *) - st_pack_mng_tab : (Lv6Id.pack_name , pack_mng) Hashtbl.t; + st_pack_mng_tab : (Lv6Id.pack_name , pack_mng) Hashtbl.t; } (* exported *) let (pack_list:t -> Lv6Id.pack_name list) = - fun this -> + fun this -> Hashtbl.fold (fun n _p l -> n::l) this.st_pack_mng_tab [] (* exported *) let (pack_body_env: t -> Lv6Id.pack_name -> AstTabSymbol.t) = - fun this p -> - try + fun this p -> + try (Hashtbl.find this.st_pack_mng_tab p).pm_body_stab - with Not_found -> - print_string ("*** Error: can not find package '" ^ + with Not_found -> + print_string ("*** Error: can not find package '" ^ (Lv6Id.pack_name_to_string p) ^ "' in the following packages: "); - Hashtbl.iter + Hashtbl.iter (fun pn _pm -> print_string ("\n***\t '"^(Lv6Id.pack_name_to_string pn)^ "'")) this.st_pack_mng_tab; print_string "\n"; @@ -112,30 +112,30 @@ let (pack_body_env: t -> Lv6Id.pack_name -> AstTabSymbol.t) = let pack_prov_env (this: t) (p: Lv6Id.pack_name) : AstTabSymbol.t option = try (Hashtbl.find this.st_pack_mng_tab p).pm_provide_stab - with Not_found -> + with Not_found -> (* let msg = *) (* ("\n*** Could not find package " ^(Lv6Id.pack_name_to_string p) ^ *) (* " in the package table" ) *) (* in *) - None + None (* raise(Compile_error(lxm, msg)) *) - + (** Insert an item in the lexeme table. Raise [Compile_error] if already defined. *) -let put_in_tab +let put_in_tab (what: string) (tab : ('a, 'b Lxm.srcflagged) Hashtbl.t) (key : 'a) - (value : 'b Lxm.srcflagged) + (value : 'b Lxm.srcflagged) = - try + try let plxm = (Hashtbl.find tab key).src in let msg = - Printf.sprintf "%s already declared in %s" what (Lxm.position plxm) + Printf.sprintf "%s already declared in %s" what (Lxm.position plxm) in raise (Lv6errors.Compile_error (value.src, msg)) - with + with Not_found -> Hashtbl.add tab key value @@ -152,14 +152,14 @@ let init_user_items (this: pack_mng) = ( (ConstItem s) (Lxm.flagit (Lv6Id.make_long pname s) xci.src) in - + (* Exportation D'un type_info *) - let export_type (s: Lv6Id.t) (xti: AstCore.type_info srcflagged) = + let export_type (s: Lv6Id.t) (xti: AstCore.type_info srcflagged) = ( match (xti.it) with | EnumType (_, ecl) -> ( (* Cas particulier des types enums *) (* on exporte les constantes ... *) - let treat_enum_const ec = + let treat_enum_const ec = let s = ec.it in let lxm = ec.src in Lv6Verbose.printf ~flag:dbg " export enum const %s\n" (Lv6Id.to_string s); @@ -170,9 +170,9 @@ let init_user_items (this: pack_mng) = ( List.iter treat_enum_const ecl ) | ExternalType _ - | AliasedType _ - | StructType _ - | ArrayType _ + | AliasedType _ + | StructType _ + | ArrayType _ -> () ); Lv6Verbose.printf ~flag:dbg " export type %s\n" (Lv6Id.to_string s); @@ -182,7 +182,7 @@ let init_user_items (this: pack_mng) = ( in (* Exportation D'un node_info *) - let export_node (s: Lv6Id.t) (xoi: AstCore.node_info srcflagged) = + let export_node (s: Lv6Id.t) (xoi: AstCore.node_info srcflagged) = Lv6Verbose.printf ~flag:dbg " export node %s\n" (Lv6Id.to_string s); put_in_tab "node" this.pm_user_items (NodeItem (s,xoi.it.static_params)) @@ -199,7 +199,7 @@ let init_user_items (this: pack_mng) = ( Hashtbl.iter export_node pg.pg_body.pk_node_table ; | Some spflg -> (* On Exporte Les Provides *) - let treat_prov x = + let treat_prov x = let lxm = x.src in let s = Lxm.id lxm in match (x.it) with @@ -216,24 +216,24 @@ On pr pour pouvoir traiter les éventuels "use" des autres pack. Les tables de symboles sont créées plus tard. *) -let create_pack_mng +let create_pack_mng (pdata : AstV6.pack_info srcflagged) (pgiven : AstV6.pack_given) = ( (* la table pm_provide_stab n'est créée que si besoin *) let ppstab = match pgiven.pg_provides with - None -> None + None -> None | Some _ -> Some (AstTabSymbol.create ()) in let res = { pm_lxm = pdata.src ; - pm_raw_src = pdata.it; + (* pm_raw_src = pdata.it; *) pm_actual_src = pgiven; pm_user_items = Hashtbl.create 50; pm_provide_stab = ppstab; pm_body_stab = AstTabSymbol.create (); - } + } in init_user_items res; res @@ -254,14 +254,14 @@ Se fait en plusieurs passes : ****************************************************************************) let rec (create : AstV6.pack_or_model list -> t) = - fun sl -> + fun sl -> (* liste + tables des sources bruts *) let res = { st_list = sl ; st_raw_mod_tab = Hashtbl.create 50; - st_raw_pack_tab = Hashtbl.create 50; - st_pack_mng_tab = Hashtbl.create 50; - } + st_raw_pack_tab = Hashtbl.create 50; + st_pack_mng_tab = Hashtbl.create 50; + } in Lv6Verbose.printf ~flag:dbg "*** AstTab.create pass 1\n"; (* passe 1 *) @@ -271,7 +271,7 @@ let rec (create : AstV6.pack_or_model list -> t) = let init_pack_mng pname pdata = ( Lv6Verbose.printf ~flag:dbg " init pack %s\n" (Lv6Id.pack_name_to_string pname); let pg = AstInstanciateModel.f res.st_raw_mod_tab pdata in - Hashtbl.add res.st_pack_mng_tab + Hashtbl.add res.st_pack_mng_tab pname (create_pack_mng pdata pg) ) in @@ -287,14 +287,14 @@ and (* init des tables string -> mod ou pack *) init_raw_tabs (this : t) (sl : AstV6.pack_or_model list) = (* on itère pour chaque pack_or_model : *) - let treat_ns ns = + let treat_ns ns = match ns with (* cas d'un package *) | AstV6.NSPack pi -> let lxm = pi.Lxm.src in let nme = (Lv6Id.pack_name_of_string (Lxm.str lxm)) in put_in_tab "package" this.st_raw_pack_tab nme pi - + | AstV6.NSModel mi -> (* cas d'un modele *) let lxm = mi.Lxm.src in let nme = (Lxm.id lxm) in @@ -303,7 +303,7 @@ and List.iter treat_ns sl and (***** PASSE 3 *****) - (* Essentiellement le remplissage des champs de pack_mng : + (* Essentiellement le remplissage des champs de pack_mng : pm_provide_stab : AstTabSymbol.t table qui permettra de résoudre les refs simples @@ -330,7 +330,7 @@ and let treat_uses (px:Lv6Id.pack_name srcflagged) = ( let pname = px.it in let lxm = px.src in - let pum = + let pum = try Hashtbl.find this.st_pack_mng_tab pname with Not_found -> raise(Compile_error(lxm, "unknown package")) in @@ -356,7 +356,7 @@ and Some pt -> AstTabSymbol.add_import_node pt n iks.it sparams | None -> () ) - ) + ) in Hashtbl.iter fill_used_item pum.pm_user_items ) @@ -370,17 +370,17 @@ and Hashtbl.iter (AstTabSymbol.add_node pm.pm_body_stab) pg.pg_body.pk_node_table; (* ... dans le provide : *) match pg.pg_provides with - | None -> () + | None -> () | Some spflg -> ( let pptab = match pm.pm_provide_stab with Some pt -> pt | None -> assert false in - let treat_prov x = + let treat_prov x = let lxm = x.src in let s = Lxm.id lxm in match (x.it) with - | TypeInfo xti -> AstTabSymbol.add_type pptab pname s (Lxm.flagit xti lxm) + | TypeInfo xti -> AstTabSymbol.add_type pptab pname s (Lxm.flagit xti lxm) | ConstInfo xci -> AstTabSymbol.add_const pptab pname s (Lxm.flagit xci lxm) | NodeInfo xoi -> AstTabSymbol.add_node pptab s (Lxm.flagit xoi lxm) in @@ -399,35 +399,33 @@ Associations : (* exported *) let (dump : t -> unit) = - fun x -> + fun x -> (* let p = Lv6Verbose.print_string ~level:3 in *) let p = prerr_string in p "*** « Syntax table dump:\n"; - + p " \t - Package or model list:\n\t\t"; (* st_list : AstV6.pack_or_model list ; *) - List.iter - (fun pm -> p (AstV6.pack_or_model_to_string pm); p "\n\t\t") + List.iter + (fun pm -> p (AstV6.pack_or_model_to_string pm); p "\n\t\t") x.st_list ; - + p "\n\t - Raw model table: "; (* st_raw_mod_tab : (Lv6Id.t , model_info srcflagged) Hashtbl.t ; *) - Hashtbl.iter + Hashtbl.iter (fun id _mi -> p ((Lv6Id.to_string id) ^ " ")) x.st_raw_mod_tab; - + p "\n\t - Raw Package table: "; (* st_raw_pack_tab : (Lv6Id.pack_name , pack_info srcflagged) Hashtbl.t ; *) - Hashtbl.iter - (fun pn _pi -> p ((Lv6Id.pack_name_to_string pn) ^ " ")) + Hashtbl.iter + (fun pn _pi -> p ((Lv6Id.pack_name_to_string pn) ^ " ")) x.st_raw_pack_tab; - + p "\n\t - Package manager table: "; (* st_pack_mng_tab : (Lv6Id.pack_name , pack_mng) Hashtbl.t; *) - Hashtbl.iter - (fun pn _pm -> p ((Lv6Id.pack_name_to_string pn) ^ " ")) + Hashtbl.iter + (fun pn _pm -> p ((Lv6Id.pack_name_to_string pn) ^ " ")) x.st_pack_mng_tab; - - p "\nEnd of Syntax table dump. »\n" - + p "\nEnd of Syntax table dump. »\n" diff --git a/lib/l2lExpandMetaOp.ml b/lib/l2lExpandMetaOp.ml index ad1d0278..714f96c4 100644 --- a/lib/l2lExpandMetaOp.ml +++ b/lib/l2lExpandMetaOp.ml @@ -1,4 +1,4 @@ -(** Time-stamp: <modified the 10/10/2024 (at 14:56) by Erwan Jahier> *) +(** Time-stamp: <modified the 28/11/2024 (at 11:29) by Erwan Jahier> *) open Lxm open Lic @@ -8,7 +8,7 @@ let dbg = (Lv6Verbose.get_flag "ei") (* pack useful info into a single struct *) type local_ctx = { node : Lic.node_exp; - prg : LicPrg.t; + (* prg : LicPrg.t; *) } (********************************************************************************) @@ -555,7 +555,7 @@ let (doit : LicPrg.t -> LicPrg.t) = fun nk ne outprg -> let lctx = { node = ne; - prg = inprg; + (* prg = inprg; *) } in let ne = node lctx ne false in @@ -576,7 +576,7 @@ let (doit_boolred : LicPrg.t -> LicPrg.t) = fun nk ne outprg -> let lctx = { node = ne; - prg = inprg; + (* prg = inprg; *) } in let ne = node lctx ne true in diff --git a/lib/lic2soc.ml b/lib/lic2soc.ml index 2a15abb5..94c14b15 100644 --- a/lib/lic2soc.ml +++ b/lib/lic2soc.ml @@ -1,4 +1,4 @@ -(** Time-stamp: <modified the 31/10/2024 (at 12:07) by Erwan Jahier> *) +(** Time-stamp: <modified the 28/11/2024 (at 11:29) by Erwan Jahier> *) (* XXX ce module est mal écrit. A reprendre. (R1) *) @@ -20,7 +20,7 @@ exception Undef_soc of Soc.key * Lxm.t * Lic.by_pos_op * Data.t list * Soc.var_e (** Informations liées au contexte de traduction. *) type ctx = { prg : LicPrg.t; - last_temp_var : int; + (* last_temp_var : int; *) last_mem : int; (* to count instances number *) last_task : int; (* to count tasks number *) locals : Soc.var list; @@ -30,7 +30,7 @@ let create_context: (LicPrg.t -> ctx) = fun prg -> { prg = prg; - last_temp_var = 0; + (* last_temp_var = 0; *) last_mem = 0; last_task = 0; locals = []; diff --git a/lib/soc2c.ml b/lib/soc2c.ml index 527d4c65..5916e737 100644 --- a/lib/soc2c.ml +++ b/lib/soc2c.ml @@ -1,4 +1,4 @@ -(* Time-stamp: <modified the 05/11/2024 (at 09:56) by Erwan Jahier> *) +(* Time-stamp: <modified the 28/11/2024 (at 11:29) by Erwan Jahier> *) (* let put (os: out_channel) (fmt:('a, unit, string, unit) format4) : 'a = *) @@ -54,7 +54,7 @@ let _ = (* Soc printer *) type 'a soc_pp = { - hfmt: ('a, unit, string, unit) format4 -> 'a; + (* hfmt: ('a, unit, string, unit) format4 -> 'a; *) cfmt: ('a, unit, string, unit) format4 -> 'a; cput : string -> unit; hput : string -> unit; @@ -327,7 +327,7 @@ let (soc2c : int -> out_channel -> out_channel -> Soc.tbl -> Soc.key -> let cfmt fmt = Printf.ksprintf (fun t -> output_string cfile t) fmt in let hput str = output_string hfile str in let cput str = output_string cfile str in - let sp = { hfmt = hfmt; cfmt=cfmt; hput = hput; cput = cput; soc = soc } in + let sp = { (* hfmt = hfmt; *) cfmt=cfmt; hput = hput; cput = cput; soc = soc } in (* include the header files that define the step functions used by the soc *) if (one_file()) then () else ( let (used_soc:Soc.key list) = KeySet.elements (get_used_soc soc) in -- GitLab