From 9f34e8040f791bfba87ea947e89a94e09559cf24 Mon Sep 17 00:00:00 2001
From: Erwan Jahier <jahier@imag.fr>
Date: Thu, 21 Aug 2008 16:05:46 +0200
Subject: [PATCH] Add the name of the package when printing structure.

---
 src/compiledData.ml   |   4 +-
 src/evalClock.ml      |   4 +-
 src/evalType.ml       |   4 +-
 src/getEff.ml         |  30 +++---
 src/licDump.ml        |  10 +-
 src/split.ml          |   4 +-
 src/symbolTab.ml      |  28 +++---
 src/symbolTab.mli     |  10 +-
 src/test/test.res.exp | 224 +++++++++++++++++++++++-------------------
 9 files changed, 177 insertions(+), 141 deletions(-)

diff --git a/src/compiledData.ml b/src/compiledData.ml
index c6034459..111b0c57 100644
--- a/src/compiledData.ml
+++ b/src/compiledData.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 19/08/2008 (at 11:39) by Erwan Jahier> *)
+(** Time-stamp: <modified the 21/08/2008 (at 15:57) by Erwan Jahier> *)
 
 (** 
 
@@ -169,7 +169,7 @@ and val_exp_eff =
 and operands_eff = OperEff of val_exp_eff list
 
 and by_name_op_eff =
-  | STRUCT_eff of Ident.idref
+  | STRUCT_eff of Ident.pack_name * Ident.idref
   | STRUCT_anonymous_eff
 
 
diff --git a/src/evalClock.ml b/src/evalClock.ml
index c49f6c35..f613700b 100644
--- a/src/evalClock.ml
+++ b/src/evalClock.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 19/08/2008 (at 17:23) by Erwan Jahier> *)
+(** Time-stamp: <modified the 21/08/2008 (at 15:50) by Erwan Jahier> *)
  
   
 open Predef
@@ -389,7 +389,7 @@ and (eval_by_name_clock : id_solver -> by_name_op_eff -> Lxm.t ->
   fun id_solver namop lxm namargs s -> 
     match namop with
       | STRUCT_anonymous_eff -> assert false (* cf EvalType.f *)
-      | STRUCT_eff opid ->
+      | STRUCT_eff _ ->
 	  let args = List.map (fun (id,ve) -> ve) namargs in
 	  (* XXX The 3 following lines duplicates the code of TUPLE_eff and co *)
 	  let clk_args, s =  f_list id_solver s args in
diff --git a/src/evalType.ml b/src/evalType.ml
index c867b0d9..ac6b41e3 100644
--- a/src/evalType.ml
+++ b/src/evalType.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 18/08/2008 (at 13:52) by Erwan Jahier> *)
+(** Time-stamp: <modified the 21/08/2008 (at 15:55) by Erwan Jahier> *)
  
   
 open Predef
@@ -180,5 +180,5 @@ and (eval_by_name_type : id_solver -> by_name_op_eff -> Lxm.t ->
 	  assert false
 (* 	  failwith "Finish me: anonymous struct not yet supported" *)
 
-      | STRUCT_eff opid -> [id_solver.id2type opid lxm]
+      | STRUCT_eff (pn,opid) -> [id_solver.id2type opid lxm]
 
diff --git a/src/getEff.ml b/src/getEff.ml
index 741ae842..a0789dd5 100644
--- a/src/getEff.ml
+++ b/src/getEff.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 19/08/2008 (at 15:09) by Erwan Jahier> *)
+(** Time-stamp: <modified the 21/08/2008 (at 15:58) by Erwan Jahier> *)
 
 
 open Lxm
@@ -185,7 +185,9 @@ and (translate_left_part : id_solver -> left_part -> left_eff) =
   fun id_solver lp_top -> 
     match lp_top with
       | LeftVar id -> 
-	  let vi_eff =  id_solver.id2var (Ident.idref_of_string (Ident.to_string id.it)) id.src in
+	  let vi_eff = 
+            id_solver.id2var (Ident.idref_of_string (Ident.to_string id.it)) id.src 
+          in
 	    LeftVarEff (vi_eff, id.src)
 	      
       | LeftField (lp, id) -> (
@@ -230,23 +232,29 @@ and (translate_val_exp : id_solver -> val_exp -> val_exp_eff) =
     match ve with
       | CallByName(by_name_op, field_list) ->
 	  (CallByNameEff(
-	     flagit (translate_by_name_op by_name_op.it) by_name_op.src,
+	     flagit (translate_by_name_op id_solver by_name_op) by_name_op.src,
 	     List.map (translate_field id_solver) field_list))
-
+            
       | CallByPos(by_pos_op, Oper vel) ->
 	  let vel_eff = List.map (translate_val_exp id_solver) vel in
 	  let by_pos_op_eff = translate_by_pos_op id_solver by_pos_op vel in
 	    CallByPosEff(flagit by_pos_op_eff by_pos_op.src, OperEff vel_eff)
 	      
 	      
-and translate_by_name_op = function
-  | STRUCT_n idref     -> STRUCT_eff idref
-  | STRUCT_anonymous_n -> STRUCT_anonymous_eff
-
+and translate_by_name_op id_solver op = 
+  match op.it with
+    | STRUCT_anonymous_n -> STRUCT_anonymous_eff
+    | STRUCT_n idref -> 
+        match Ident.pack_of_idref idref with
+          | None -> 
+              (* If no pack name is provided, we lookup it in the symbol table *)
+              let id = Ident.of_idref idref in
+              let pn = SymbolTab.find_pack_of_type id_solver.symbols id op.src in
+                STRUCT_eff (pn, idref)
+          | Some pn -> STRUCT_eff (pn, idref)
 
 and translate_field id_solver (id, ve) = (id, translate_val_exp id_solver ve)
 
-
 (* XXX autre nom, autre module ? 
    ca fait partie de la definition des iterateurs d'une certaine maniere...
    -> créer 2 modules, Iterator + IteratorSemantics 
@@ -327,7 +335,7 @@ and (translate_by_pos_op : id_solver -> by_pos_op srcflagged -> val_exp list ->
               | Some pn -> IDENT_eff idref
                   (* Constant with a pack name are treated as
                      IDENT_eff.  Indeed, I do not see any means to
-                     know if idref denotes a constant or not, since
+                     know if an idref denotes a constant or not, since
                      the SymbolTab tables are indexed by
                      Ident.t... Anyway, CONST_eff was introduced
                      precisely to handle idref constants with no pack
@@ -336,7 +344,7 @@ and (translate_by_pos_op : id_solver -> by_pos_op srcflagged -> val_exp list ->
                      inelegant). *)
               | None ->
                   let id = Ident.of_idref idref in
-                  let pn = fst (SymbolTab.find_const2 id_solver.symbols id lxm) in
+                  let pn = SymbolTab.find_pack_of_const id_solver.symbols id lxm in
                     CONST_eff (idref, pn)
           with _ -> IDENT_eff idref  
         )
diff --git a/src/licDump.ml b/src/licDump.ml
index 7258f83c..4d6852f7 100644
--- a/src/licDump.ml
+++ b/src/licDump.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 19/08/2008 (at 17:25) by Erwan Jahier> *)
+(** Time-stamp: <modified the 21/08/2008 (at 16:01) by Erwan Jahier> *)
 
 open CompiledData
 open Printf
@@ -321,7 +321,13 @@ and string_of_val_exp_eff = function
 
   | CallByNameEff(by_name_op_eff, fl) -> 
       (match by_name_op_eff.it with
-	 | STRUCT_eff idref -> Ident.string_of_idref idref 
+	 | STRUCT_eff (pn,idref) -> (
+             match Ident.pack_of_idref idref with
+               | Some pn -> Ident.string_of_idref idref
+               | None -> 
+                   let idref = Ident.make_idref pn (Ident.of_idref idref) in
+                     Ident.string_of_idref idref
+           )
 	 | STRUCT_anonymous_eff -> "") ^
 	"{" ^ (String.concat ";" 
 		 (List.map 
diff --git a/src/split.ml b/src/split.ml
index f1969a5d..98ab7d89 100644
--- a/src/split.ml
+++ b/src/split.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 20/08/2008 (at 11:37) by Erwan Jahier> *)
+(** Time-stamp: <modified the 21/08/2008 (at 16:04) by Erwan Jahier> *)
 
 
 open Lxm
@@ -103,7 +103,7 @@ and (split_val_exp : bool -> val_exp_eff -> val_exp_eff * split_acc) =
 
               let eq = Lxm.flagit (lpl, rhs) lxm in
                 nve, (eql@[eq], vl@nv_l)
-      
+                  
 
 and (split_val_exp_list : bool -> val_exp_eff list -> val_exp_eff list * split_acc) =
   fun top_level vel ->     
diff --git a/src/symbolTab.ml b/src/symbolTab.ml
index 083b808e..bd529f69 100644
--- a/src/symbolTab.ml
+++ b/src/symbolTab.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 23/07/2008 (at 10:06) by Erwan Jahier> *)
+(** Time-stamp: <modified the 21/08/2008 (at 15:46) by Erwan Jahier> *)
 
 (*
 Sous-module pour SyntaxTab 
@@ -14,7 +14,7 @@ type 'a elt =
 
 type t = {
   st_consts: (Ident.t , (Ident.pack_name * const_info srcflagged elt)) Hashtbl.t ;
-  st_types : (Ident.t , (type_info  srcflagged) elt) Hashtbl.t ;
+  st_types : (Ident.t , (Ident.pack_name * type_info  srcflagged elt)) Hashtbl.t ;
   st_nodes : (Ident.t , (node_info  srcflagged) elt) Hashtbl.t ;
 } 
 
@@ -31,7 +31,12 @@ let create () =
     }
 
 let find_type (this: t) (id: Ident.t) lxm =
-  try Hashtbl.find (this.st_types) id
+  try snd (Hashtbl.find (this.st_types) id)
+  with Not_found -> 
+    raise (Compile_error(lxm, "unknown type (" ^ (Ident.to_string id)^")"))
+
+let find_pack_of_type (this: t) (id: Ident.t) lxm =
+  try fst (Hashtbl.find (this.st_types) id)
   with Not_found -> 
     raise (Compile_error(lxm, "unknown type (" ^ (Ident.to_string id)^")"))
 
@@ -41,8 +46,8 @@ let find_const (this: t) (id: Ident.t) lxm =
   with Not_found -> 
     raise (Compile_error(lxm, "unknown constant (" ^ (Ident.to_string id) ^")"))
 
-let find_const2 (this: t) (id: Ident.t) lxm = 
-  try Hashtbl.find (this.st_consts) id
+let find_pack_of_const (this: t) (id: Ident.t) lxm = 
+  try fst (Hashtbl.find (this.st_consts) id)
   with Not_found -> 
     raise (Compile_error(lxm, "unknown constant (" ^ (Ident.to_string id) ^")"))
 
@@ -64,7 +69,7 @@ let add_import_const (this: t) (pn:Ident.pack_name) (id: Ident.t) (aid: Ident.lo
   Hashtbl.replace (this.st_consts) id (pn, Imported (aid, []))
 
 let add_import_type (this: t) (id: Ident.t) (aid: Ident.long) =
-  Hashtbl.replace (this.st_types) id (Imported (aid, []))
+  Hashtbl.replace (this.st_types) id (Ident.pack_of_long aid, Imported (aid, []))
 
 let add_import_node (this: t) (id: Ident.t) (aid: Ident.long) 
     (params:static_param srcflagged list) =
@@ -75,7 +80,7 @@ let add_const (this: t) (pn:Ident.pack_name) (n: Ident.t)
   Hashtbl.replace this.st_consts n (pn, Local cix)
 
 let add_type (this: t) pn (n: Ident.t) (tix: type_info srcflagged) = (
-  Hashtbl.replace this.st_types n (Local tix) ;
+  Hashtbl.replace this.st_types n (pn, Local tix) ;
   (* cas particulier des types enums *)
   match tix.it with
       EnumType (_, ecl) -> (
@@ -96,10 +101,11 @@ let add_node (this: t) (n: Ident.t) (oix: node_info  srcflagged) =
   Hashtbl.add this.st_nodes n (Local oix)
  
 
-let iter_types  this f = Hashtbl.iter f this.st_types
+(* let iter_types  this f = Hashtbl.iter f this.st_types *)
+let iter_types  this f = Hashtbl.iter (fun id (pn,ti) -> f id ti) this.st_types
 let iter_consts this f = Hashtbl.iter (fun id (pn,ci) -> f id ci) this.st_consts
 let iter_nodes  this f = Hashtbl.iter f this.st_nodes
-let iter_consts2 this f = Hashtbl.iter f this.st_consts
+(* let iter_consts2 this f = Hashtbl.iter f this.st_consts *)
 
 
 (* useful for debug *)
@@ -116,8 +122,8 @@ let (dump : t -> unit) =
 		    )
     in
     let type_info_dump =  function 
-      | Imported(l,params) -> print_string (Ident.long_to_string l)
-      | Local ti -> 
+      | pn, Imported(l,params) -> print_string (Ident.long_to_string l)
+      | pn, Local ti -> 
 	  match ti.it with
 	    | ExternalType id -> print_string ("extern type ")
 	    | AliasedType(id,texp)  -> 
diff --git a/src/symbolTab.mli b/src/symbolTab.mli
index e74f2c37..f18129cc 100644
--- a/src/symbolTab.mli
+++ b/src/symbolTab.mli
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 23/07/2008 (at 10:21) by Erwan Jahier> *)
+(** Time-stamp: <modified the 21/08/2008 (at 15:45) by Erwan Jahier> *)
 
 (**********************************************************
 Sous-module pour SyntaxTab 
@@ -36,7 +36,8 @@ val find_type :  t -> Ident.t -> Lxm.t -> (type_info  Lxm.srcflagged) elt
 val find_const : t -> Ident.t -> Lxm.t -> (const_info Lxm.srcflagged) elt
 val find_node :  t -> Ident.t -> Lxm.t -> (node_info  Lxm.srcflagged) elt
 
-val find_const2 : t -> Ident.t -> Lxm.t -> Ident.pack_name * const_info Lxm.srcflagged elt
+val find_pack_of_type  : t -> Ident.t -> Lxm.t -> Ident.pack_name
+val find_pack_of_const : t -> Ident.t -> Lxm.t -> Ident.pack_name
 
 (* Ajout de nom d'item importés (via uses) *)
 val add_import_const : t -> Ident.pack_name -> Ident.t -> Ident.long -> unit
@@ -45,7 +46,7 @@ val add_import_node  : t -> Ident.t -> Ident.long ->
   static_param srcflagged list -> unit
 
 (** Add local items declaration *)
-val add_type  : t -> Ident.pack_name ->  Ident.t -> type_info  Lxm.srcflagged -> unit
+val add_type  : t -> Ident.pack_name -> Ident.t -> type_info  Lxm.srcflagged -> unit
 val add_const : t -> Ident.pack_name -> Ident.t -> const_info Lxm.srcflagged -> unit
 val add_node  : t -> Ident.t -> node_info  Lxm.srcflagged -> unit
 
@@ -55,6 +56,3 @@ val iter_types: t -> (Ident.t -> (type_info Lxm.srcflagged) elt -> unit) -> unit
 val iter_consts: t ->(Ident.t -> (const_info Lxm.srcflagged) elt -> unit) -> unit
 val iter_nodes : t ->(Ident.t -> (node_info Lxm.srcflagged) elt -> unit) -> unit
 
-val iter_consts2: 
-  t ->(Ident.t -> Ident.pack_name * const_info Lxm.srcflagged elt -> unit) -> unit
-
diff --git a/src/test/test.res.exp b/src/test/test.res.exp
index e97e1a4d..1869c7b8 100644
--- a/src/test/test.res.exp
+++ b/src/test/test.res.exp
@@ -7987,7 +7987,7 @@ let
    t[0].a[1 .. 99 step 2][1] = true;
    t[0].a[5 .. 99 step 2] = (false^48);
    t[0].b = 42;
-   t[1 .. 2] = (truc{a=(true^100);b=0}^2);
+   t[1 .. 2] = (left::truc{a=(true^100);b=0}^2);
 tel
 -- end of node left::toto
 -- automatically defined aliases:
@@ -8038,7 +8038,7 @@ var
    _v5:real;
    _v6:real;
 let
-   out2 = selType{i=0;b=true;r=.0};
+   out2 = inter::selType{i=0;b=true;r=.0};
    out.i = (pint::fby1(_v1, _v2));
    _v1 = out2.i;
    _v2 = in.i;
@@ -9212,7 +9212,7 @@ var
    _v5:real;
    _v6:real;
 let
-   out2 = selType{i=0;b=true;r=.0};
+   out2 = inter::selType{i=0;b=true;r=.0};
    out.i = (pint::fby1(_v1, _v2));
    _v1 = out2.i;
    _v2 = in.i;
@@ -9283,7 +9283,7 @@ var
    _v5:real;
    _v6:real;
 let
-   out2 = selType{i=0;b=true;r=0.0};
+   out2 = inter::selType{i=0;b=true;r=0.0};
    out.i = (pint::fby1(_v1, _v2));
    _v1 = out2.i;
    _v2 = in.i;
@@ -9317,7 +9317,7 @@ Opening file should_work/Pascal/struct0.lus
 type _struct0::Toto = struct  {x : int = 1; y : int = 2};
 node struct0::bibi(dummy:int) returns (z:_struct0::Toto);
 let
-   z = Toto{x=3};
+   z = struct0::Toto{x=3};
 tel
 -- end of node struct0::bibi
 
@@ -9950,7 +9950,7 @@ var
    _v3:bool;
    _v4:_Gyroscope2::Valid_ChannelT;
 let
-    acc_out = CFF_Eltstruct{indx=(acc_in.indx +
+    acc_out = Gyroscope2::CFF_Eltstruct{indx=(acc_in.indx +
 	 1);indx_toChange=acc_in.indx_toChange;value=acc_in.value};
    elt_out = ( if _v3 then _v4 else elt_in);
    _v1 = acc_in.indx;
@@ -9970,7 +9970,7 @@ var
    acc_out:_Gyroscope2::CFF_Eltstruct;
 let
     (acc_out, tabToFillAfter) = (fillred<<Gyroscope2::addOneChannelIter,
-	3>>(CFF_Eltstruct{indx=0;indx_toChange=indx_toChange;value=channeltToAdd},
+	3>>(Gyroscope2::CFF_Eltstruct{indx=0;indx_toChange=indx_toChange;value=channeltToAdd},
 	 tabToFill));
 tel
 -- end of node Gyroscope2::addOneChannel
@@ -9981,7 +9981,7 @@ node Gyroscope2::CFC_iter(
 returns (
 	structOut:_Gyroscope2::CFF_struct);
 let
-    structOut = CFF_struct{indx=(structIn.indx +
+    structOut = Gyroscope2::CFF_struct{indx=(structIn.indx +
 	1);indx_toChange=structIn.indx_toChange;tabToFill=( if
 	(structIn.indx_toChange = structIn.indx) then structIn.tabToFill else
 	(Gyroscope2::addOneChannel(structIn.indx, currentChannel,
@@ -9998,9 +9998,10 @@ var
    acc_out:_Gyroscope2::CFF_struct;
    localtabToFill:_Gyroscope2::Valid_ChannelT;
 let
-   localtabToFill = Valid_ChannelT{local_failure=false;local_value=0.0};
+    localtabToFill =
+	 Gyroscope2::Valid_ChannelT{local_failure=false;local_value=0.0};
     acc_out = (red<<Gyroscope2::CFC_iter,
-	4>>(CFF_struct{indx=0;indx_toChange=currentChannelIndx;tabToFill=(localtabToFill^3)},
+	4>>(Gyroscope2::CFF_struct{indx=0;indx_toChange=currentChannelIndx;tabToFill=(localtabToFill^3)},
 	 allChannels));
    foreignChannels = acc_out.tabToFill;
 tel
@@ -10145,11 +10146,12 @@ var
    localChannel:_Gyroscope2::Valid_ChannelT;
 let
     localChannel =
-	Valid_ChannelT{local_failure=((Gyroscope2::abs((inChannel.valuea -
-	inChannel.valueb))) > delta);local_value=( if
+	Gyroscope2::Valid_ChannelT{local_failure=((Gyroscope2::abs((inChannel.valuea
+	- inChannel.valueb))) > delta);local_value=( if
 	((Gyroscope2::abs((inChannel.valuea - inChannel.valueb))) > delta) then 0.0
 	 else ((inChannel.valuea + inChannel.valueb) / 2.0))};
-    outChannel = Valid_ChannelT{local_failure=(localChannel.local_failure or
+    outChannel =
+	Gyroscope2::Valid_ChannelT{local_failure=(localChannel.local_failure or
 	(Gyroscope2::CrossFailDetect(nbInChannel, localChannel,
 	 previousOutChannel)));local_value=localChannel.local_value};
    nextOutChannel = previousOutChannel;
@@ -10286,7 +10288,8 @@ var
    _v4:A_real_4;
    _v5:A__Gyroscope2::Valid_ChannelT_4;
 let
-   initChannels = (Valid_ChannelT{local_failure=false;local_value=0.0}^4);
+    initChannels =
+	 (Gyroscope2::Valid_ChannelT{local_failure=false;local_value=0.0}^4);
     (dumbChannel, resChannels) = (fillred<<Gyroscope2::Channel,
 	 4>>(fillredInit, _v1, channels, _v2, _v3, _v4));
    _v1 = ([0, 1, 2, 3]);
@@ -12115,7 +12118,7 @@ var
    _v10:int;
    _v11:A_int_2;
 let
-   yo.titi = tube{in=i;out=(i + 1)};
+   yo.titi = morel4::tube{in=i;out=(i + 1)};
    yo.tutu = true;
    t = (_v5 -> _v11);
    _v1 = yo.titi;
@@ -12323,7 +12326,7 @@ var
    _v12:A_int_2;
    _v13:A_int_2;
 let
-   yo.titi = tube{in=i;out=(i + 1)};
+   yo.titi = morel5::tube{in=i;out=(i + 1)};
    yo.tutu = true;
    t = (_v5 -> _v11);
    _v1 = yo.titi;
@@ -15040,8 +15043,9 @@ let
    _v3 = (_v1 - _v2);
    _v4 = (Gyroscope::abs(_v3));
    _v5 = (_v4 > delta);
-    outChannel = Valid_ChannelT{local_failure=maintain;local_value=( if
-	 maintain then 0.0 else ((inChannel.valuea + inChannel.valueb) / 2.0))};
+    outChannel =
+	Gyroscope::Valid_ChannelT{local_failure=maintain;local_value=( if maintain
+	 then 0.0 else ((inChannel.valuea + inChannel.valueb) / 2.0))};
 tel
 -- end of node Gyroscope::Channel
 
@@ -15325,7 +15329,7 @@ returns (
 	acc_out:_produitBool::T_isElementOf_);
 let
     acc_out =
-	T_isElementOf_{eltToSearch=acc_in.eltToSearch;iselementof=(acc_in.iselementof
+	produitBool::T_isElementOf_{eltToSearch=acc_in.eltToSearch;iselementof=(acc_in.iselementof
 	 or (acc_in.eltToSearch = elt_in))};
 tel
 -- end of node produitBool::iterated_isElementOf_
@@ -15339,7 +15343,7 @@ var
    acc_out:_produitBool::T_isElementOf_;
 let
     acc_out = (red<<produitBool::iterated_isElementOf_,
-	 10>>(T_isElementOf_{eltToSearch=e;iselementof=false}, t));
+	 10>>(produitBool::T_isElementOf_{eltToSearch=e;iselementof=false}, t));
    iselementof = acc_out.iselementof;
 tel
 -- end of node produitBool::_isElementOf_
@@ -15350,7 +15354,7 @@ node produitBool::selectOneStage(
 returns (
 	acc_out:_produitBool::iteratedStruct);
 let
-    acc_out = iteratedStruct{currentRank=(acc_in.currentRank +
+    acc_out = produitBool::iteratedStruct{currentRank=(acc_in.currentRank +
 	1);rankToSelect=acc_in.rankToSelect;elementSelected=( if
 	(acc_in.currentRank = acc_in.rankToSelect) then currentElt else
 	 acc_in.elementSelected)};
@@ -15366,7 +15370,7 @@ var
    iterationResult:_produitBool::iteratedStruct;
 let
     iterationResult = (red<<produitBool::selectOneStage,
-	10>>(iteratedStruct{currentRank=0;rankToSelect=rankToSelect;elementSelected=array[0]},
+	10>>(produitBool::iteratedStruct{currentRank=0;rankToSelect=rankToSelect;elementSelected=array[0]},
 	 array));
    elementSelected = iterationResult.elementSelected;
 tel
@@ -15393,7 +15397,7 @@ var
    _v13:bool;
 let
     acc_out =
-	Tacc_inShift2{multiplieur=acc_in.multiplieur;rank=acc_in.rank;actual_rank=(acc_in.actual_rank
+	produitBool::Tacc_inShift2{multiplieur=acc_in.multiplieur;rank=acc_in.rank;actual_rank=(acc_in.actual_rank
 	 + 1)};
    elt_out = ( if _v8 then _v13 else false);
    _v1 = acc_in.actual_rank;
@@ -15420,7 +15424,7 @@ var
    bidon:_produitBool::Tacc_inShift2;
 let
     (bidon, ligne) = (fill<<produitBool::shiftFill,
-	 20>>(Tacc_inShift2{multiplieur=acc_in.multiplieur;rank=acc_in.rank;actual_rank=0}));
+	 20>>(produitBool::Tacc_inShift2{multiplieur=acc_in.multiplieur;rank=acc_in.rank;actual_rank=0}));
 tel
 -- end of node produitBool::shift
 
@@ -15481,7 +15485,7 @@ node shiftFill_ludic::n_selectOneStage(
 returns (
 	o_acc_out:_shiftFill_ludic::T3_STRUCT);
 let
-    o_acc_out = T3_STRUCT{currentRank=(i_acc_in.currentRank +
+    o_acc_out = shiftFill_ludic::T3_STRUCT{currentRank=(i_acc_in.currentRank +
 	1);rankToSelect=i_acc_in.rankToSelect;elementSelected=( if
 	(i_acc_in.currentRank = i_acc_in.rankToSelect) then i_currentElt else
 	 i_acc_in.elementSelected)};
@@ -15497,7 +15501,7 @@ var
    v_iterationResult:_shiftFill_ludic::T3_STRUCT;
 let
     v_iterationResult = (red<<shiftFill_ludic::n_selectOneStage,
-	10>>(T3_STRUCT{currentRank=0;rankToSelect=i_rankToSelect;elementSelected=i_array[0]},
+	10>>(shiftFill_ludic::T3_STRUCT{currentRank=0;rankToSelect=i_rankToSelect;elementSelected=i_array[0]},
 	 i_array));
    o_elementSelected = v_iterationResult.elementSelected;
 tel
@@ -15522,7 +15526,7 @@ var
    _v11:bool;
 let
     o_acc_out =
-	T2_STRUCT{multiplieur=i_acc_in.multiplieur;rank=i_acc_in.rank;actual_rank=(i_acc_in.actual_rank
+	shiftFill_ludic::T2_STRUCT{multiplieur=i_acc_in.multiplieur;rank=i_acc_in.rank;actual_rank=(i_acc_in.actual_rank
 	 + 1)};
    o_elt_out = ( if _v8 then _v11 else false);
    _v1 = i_acc_in.actual_rank;
@@ -15563,7 +15567,7 @@ node shift_ludic::n_selectOneStage(
 returns (
 	o_acc_out:_shift_ludic::T4_STRUCT);
 let
-    o_acc_out = T4_STRUCT{currentRank=(i_acc_in.currentRank +
+    o_acc_out = shift_ludic::T4_STRUCT{currentRank=(i_acc_in.currentRank +
 	1);rankToSelect=i_acc_in.rankToSelect;elementSelected=( if
 	(i_acc_in.currentRank = i_acc_in.rankToSelect) then i_currentElt else
 	 i_acc_in.elementSelected)};
@@ -15579,7 +15583,7 @@ var
    v_iterationResult:_shift_ludic::T4_STRUCT;
 let
     v_iterationResult = (red<<shift_ludic::n_selectOneStage,
-	10>>(T4_STRUCT{currentRank=0;rankToSelect=i_rankToSelect;elementSelected=i_array[0]},
+	10>>(shift_ludic::T4_STRUCT{currentRank=0;rankToSelect=i_rankToSelect;elementSelected=i_array[0]},
 	 i_array));
    o_elementSelected = v_iterationResult.elementSelected;
 tel
@@ -15604,7 +15608,7 @@ var
    _v11:bool;
 let
     o_acc_out =
-	T2_STRUCT{multiplieur=i_acc_in.multiplieur;rank=i_acc_in.rank;actual_rank=(i_acc_in.actual_rank
+	shift_ludic::T2_STRUCT{multiplieur=i_acc_in.multiplieur;rank=i_acc_in.rank;actual_rank=(i_acc_in.actual_rank
 	 + 1)};
    o_elt_out = ( if _v8 then _v11 else false);
    _v1 = i_acc_in.actual_rank;
@@ -15629,7 +15633,7 @@ var
    v_bidon:_shift_ludic::T2_STRUCT;
 let
     (v_bidon, o_ligne) = (fill<<shift_ludic::n_shiftFill,
-	 20>>(T2_STRUCT{multiplieur=i_acc_in.multiplieur;rank=i_acc_in.rank;actual_rank=0}));
+	 20>>(shift_ludic::T2_STRUCT{multiplieur=i_acc_in.multiplieur;rank=i_acc_in.rank;actual_rank=0}));
 tel
 -- end of node shift_ludic::n_shift
 -- automatically defined aliases:
@@ -15769,7 +15773,7 @@ var
    _v8:_calculs_max::struct_max;
 let
     strout = ( if _v2 then
-	struct_max{max1=strin.max1;max2=strin.max2;imax1=strin.imax1;imax2=strin.imax2;icourant=(strin.icourant
+	calculs_max::struct_max{max1=strin.max1;max2=strin.max2;imax1=strin.imax1;imax2=strin.imax2;icourant=(strin.icourant
 	 + 1)} else _v8);
    _v1 = strin.max2;
    _v2 = (ecourant <= _v1);
@@ -15779,9 +15783,9 @@ let
    _v6 = (ecourant <= _v5);
    _v7 = (_v4 and _v6);
     _v8 = ( if _v7 then
-	struct_max{max1=strin.max1;max2=ecourant;imax1=strin.imax1;imax2=strin.icourant;icourant=(strin.icourant
+	calculs_max::struct_max{max1=strin.max1;max2=ecourant;imax1=strin.imax1;imax2=strin.icourant;icourant=(strin.icourant
 	+ 1)} else
-	struct_max{max1=ecourant;max2=strin.max1;imax1=strin.icourant;imax2=strin.imax1;icourant=(strin.icourant
+	calculs_max::struct_max{max1=ecourant;max2=strin.max1;imax1=strin.icourant;imax2=strin.imax1;icourant=(strin.icourant
 	 + 1)});
 tel
 -- end of node calculs_max::max
@@ -15800,7 +15804,7 @@ var
    _v6:bool;
 let
     s_out =
-	struct_fill_bool{imax1=s_in.imax1;imax2=s_in.imax2;icourant=(s_in.icourant
+	calculs_max::struct_fill_bool{imax1=s_in.imax1;imax2=s_in.imax2;icourant=(s_in.icourant
 	 + 1)};
    elt = (_v3 or _v6);
    _v1 = s_in.icourant;
@@ -15817,9 +15821,10 @@ var
    tmp:_calculs_max::struct_fill_bool;
 let
     local_struct = (red<<calculs_max::max,
-	 10>>(struct_max{max1=0;max2=0;imax1=(-1);imax2=(-1);icourant=0}, A));
+	10>>(calculs_max::struct_max{max1=0;max2=0;imax1=(-1);imax2=(-1);icourant=0},
+	 A));
     (tmp, res) = (fill<<calculs_max::fill_bool,
-	 10>>(struct_fill_bool{imax1=local_struct.imax1;imax2=local_struct.imax2;icourant=0}));
+	 10>>(calculs_max::struct_fill_bool{imax1=local_struct.imax1;imax2=local_struct.imax2;icourant=0}));
 tel
 -- end of node calculs_max::calculs_max
 -- automatically defined aliases:
@@ -15855,7 +15860,7 @@ let
    _v5 = (pre ackout);
    _v6 = (false -> _v5);
    _v7 = (not _v6);
-    accu_out = cell_accu{token=accu_in.token;grant=((not req) and
+    accu_out = deSimone::cell_accu{token=accu_in.token;grant=((not req) and
 	 accu_in.grant)};
 tel
 -- end of node deSimone::oneCell
@@ -15882,7 +15887,7 @@ var
    accu_out:_deSimone::cell_accu;
 let
     (accu_out, acknowledge) = (fillred<<deSimone::oneCell,
-	 10>>(cell_accu{token=new_token;grant=true}, request));
+	 10>>(deSimone::cell_accu{token=new_token;grant=true}, request));
 tel
 -- end of node deSimone::deSimone
 node deSimone::prop1(request:A_bool_10) returns (ok:bool);
@@ -16123,8 +16128,9 @@ node moyenne::moyenne_step(
 returns (
 	accu_out:_moyenne::moyenne_accu);
 let
-    accu_out = moyenne_accu{sum=(accu_in.sum + elt_in);moyenne=((accu_in.sum +
-	 elt_in) / (accu_in.rank + 1.0));rank=(accu_in.rank + 1.0)};
+    accu_out = moyenne::moyenne_accu{sum=(accu_in.sum +
+	elt_in);moyenne=((accu_in.sum + elt_in) / (accu_in.rank +
+	 1.0));rank=(accu_in.rank + 1.0)};
 tel
 -- end of node moyenne::moyenne_step
 node moyenne::moyenne(Tab:A_real_10) returns (moy:real);
@@ -16132,7 +16138,7 @@ var
    accu_out:_moyenne::moyenne_accu;
 let
     accu_out = (red<<moyenne::moyenne_step,
-	 10>>(moyenne_accu{sum=0.0;moyenne=0.0;rank=0.0}, Tab));
+	 10>>(moyenne::moyenne_accu{sum=0.0;moyenne=0.0;rank=0.0}, Tab));
    moy = accu_out.moyenne;
 tel
 -- end of node moyenne::moyenne
@@ -16166,7 +16172,7 @@ node normal::int2InfoChgIndiv(
 returns (
 	InfoChgIndiv:_normal::T_InfoChgIndiv);
 let
-   InfoChgIndiv = T_InfoChgIndiv{mesure_chg=m};
+   InfoChgIndiv = normal::T_InfoChgIndiv{mesure_chg=m};
 tel
 -- end of node normal::int2InfoChgIndiv
 
@@ -16187,7 +16193,7 @@ node normal::int2InfoGenIndiv(
 returns (
 	InfoGenIndiv:_normal::T_InfoGenIndiv);
 let
-   InfoGenIndiv = T_InfoGenIndiv{mesure_gen=m};
+   InfoGenIndiv = normal::T_InfoGenIndiv{mesure_gen=m};
 tel
 -- end of node normal::int2InfoGenIndiv
 
@@ -16302,7 +16308,7 @@ node normal::extract_info_chg_glob(
 returns (
 	InfoChgGlob:_normal::T_InfoChgGlob);
 let
-    InfoChgGlob = T_InfoChgGlob{chg2gen=(map<<normal::id,
+    InfoChgGlob = normal::T_InfoChgGlob{chg2gen=(map<<normal::id,
 	 20>>(EntreeGlob.chg2gen))};
 tel
 -- end of node normal::extract_info_chg_glob
@@ -16390,7 +16396,7 @@ node normal::extract_info_gen_glob(
 returns (
 	InfoGenGlob:_normal::T_InfoGenGlob);
 let
-    InfoGenGlob = T_InfoGenGlob{elt_bidon=0;chg2gen=(map<<normal::id,
+    InfoGenGlob = normal::T_InfoGenGlob{elt_bidon=0;chg2gen=(map<<normal::id,
 	 20>>(EntreeGlob.chg2gen))};
 tel
 -- end of node normal::extract_info_gen_glob
@@ -16728,7 +16734,7 @@ node testSilus::int2InfoChgIndiv(
 returns (
 	InfoChgIndiv:_testSilus::T_InfoChgIndiv);
 let
-   InfoChgIndiv = T_InfoChgIndiv{mesure_chg=m};
+   InfoChgIndiv = testSilus::T_InfoChgIndiv{mesure_chg=m};
 tel
 -- end of node testSilus::int2InfoChgIndiv
 
@@ -16749,7 +16755,7 @@ node testSilus::int2InfoGenIndiv(
 returns (
 	InfoGenIndiv:_testSilus::T_InfoGenIndiv);
 let
-   InfoGenIndiv = T_InfoGenIndiv{mesure_gen=m};
+   InfoGenIndiv = testSilus::T_InfoGenIndiv{mesure_gen=m};
 tel
 -- end of node testSilus::int2InfoGenIndiv
 
@@ -16835,7 +16841,7 @@ node testSilus::extract_info_chg_glob(
 returns (
 	InfoChgGlob:_testSilus::T_InfoChgGlob);
 let
-    InfoChgGlob = T_InfoChgGlob{chg2gen=(map<<testSilus::id,
+    InfoChgGlob = testSilus::T_InfoChgGlob{chg2gen=(map<<testSilus::id,
 	 20>>(EntreeGlob.chg2gen))};
 tel
 -- end of node testSilus::extract_info_chg_glob
@@ -16906,7 +16912,8 @@ node testSilus::extract_info_gen_glob(
 returns (
 	InfoGenGlob:_testSilus::T_InfoGenGlob);
 let
-    InfoGenGlob = T_InfoGenGlob{elt_bidon=0;chg2gen=(map<<testSilus::id,
+    InfoGenGlob =
+	testSilus::T_InfoGenGlob{elt_bidon=0;chg2gen=(map<<testSilus::id,
 	 20>>(EntreeGlob.chg2gen))};
 tel
 -- end of node testSilus::extract_info_gen_glob
@@ -17027,8 +17034,8 @@ node triSel::minFromRank(
 returns (
 	accu_out:_triSel::MinFR_accu);
 let
-    accu_out = MinFR_accu{MinVal=( if ((accu_in.Rank = 0) or (accu_in.Rank =
-	accu_in.RankFrom)) then TabEltIn else ( if (accu_in.Rank >=
+    accu_out = triSel::MinFR_accu{MinVal=( if ((accu_in.Rank = 0) or
+	(accu_in.Rank = accu_in.RankFrom)) then TabEltIn else ( if (accu_in.Rank >=
 	accu_in.RankFrom) then ( if (TabEltIn < accu_in.MinVal) then TabEltIn else
 	accu_in.MinVal) else accu_in.MinVal));MinRank=( if ((accu_in.Rank = 0) or
 	(accu_in.Rank = accu_in.RankFrom)) then accu_in.Rank else ( if
@@ -17045,7 +17052,7 @@ returns (
 	accu_out:_triSel::Select_accu);
 let
     accu_out =
-	Select_accu{RankToFind=accu_in.RankToFind;CurrentRank=(accu_in.CurrentRank
+	triSel::Select_accu{RankToFind=accu_in.RankToFind;CurrentRank=(accu_in.CurrentRank
 	+ 1);Val=( if (accu_in.RankToFind = accu_in.CurrentRank) then elt else
 	 accu_in.Val)};
 tel
@@ -17069,7 +17076,7 @@ var
    _v9:int;
 let
     accu_out =
-	Exchange_accu{MinVal=accu_in.MinVal;MinRank=accu_in.MinRank;RankFrom=accu_in.RankFrom;CurrentVal=accu_in.CurrentVal;Rank=(accu_in.Rank
+	triSel::Exchange_accu{MinVal=accu_in.MinVal;MinRank=accu_in.MinRank;RankFrom=accu_in.RankFrom;CurrentVal=accu_in.CurrentVal;Rank=(accu_in.Rank
 	 + 1)};
    eltOut = ( if _v3 then _v4 else _v9);
    _v1 = accu_in.Rank;
@@ -17099,18 +17106,19 @@ var
    _v3:A_int_50;
 let
     accu_out_min = (red<<triSel::minFromRank,
-	50>>(MinFR_accu{MinVal=0;MinRank=0;RankFrom=accu_in.CurrentRank;Rank=0},
+	50>>(triSel::MinFR_accu{MinVal=0;MinRank=0;RankFrom=accu_in.CurrentRank;Rank=0},
 	 _v1));
    _v1 = accu_in.Tab;
     accu_out_select = (red<<triSel::select,
-	50>>(Select_accu{RankToFind=accu_in.CurrentRank;CurrentRank=0;Val=0},
+	50>>(triSel::Select_accu{RankToFind=accu_in.CurrentRank;CurrentRank=0;Val=0},
 	 _v2));
    _v2 = accu_in.Tab;
     (accu_out_exchange, localTab) = (fillred<<triSel::Exchange_i_j,
-	50>>(Exchange_accu{MinVal=accu_out_min.MinVal;MinRank=accu_out_min.MinRank;RankFrom=accu_out_select.RankToFind;CurrentVal=accu_out_select.Val;Rank=0},
+	50>>(triSel::Exchange_accu{MinVal=accu_out_min.MinVal;MinRank=accu_out_min.MinRank;RankFrom=accu_out_select.RankToFind;CurrentVal=accu_out_select.Val;Rank=0},
 	 _v3));
    _v3 = accu_in.Tab;
-   accu_out = Sort_accu{CurrentRank=(accu_in.CurrentRank + 1);Tab=localTab};
+    accu_out = triSel::Sort_accu{CurrentRank=(accu_in.CurrentRank +
+	 1);Tab=localTab};
 tel
 -- end of node triSel::UnarySort
 node triSel::triSel(TIn:A_int_50) returns (TSorted:A_int_50);
@@ -17118,7 +17126,7 @@ var
    UnarySort_accu_out:_triSel::Sort_accu;
 let
     UnarySort_accu_out = (red<<triSel::UnarySort,
-	 50>>(Sort_accu{CurrentRank=0;Tab=TIn}, TIn));
+	 50>>(triSel::Sort_accu{CurrentRank=0;Tab=TIn}, TIn));
    TSorted = UnarySort_accu_out.Tab;
 tel
 -- end of node triSel::triSel
@@ -17129,8 +17137,9 @@ node triSel::sorted_iter(
 returns (
 	accu_out:_triSel::sorted_iter_accu);
 let
-    accu_out = sorted_iter_accu{prev_elt=elt;prop_is_tt=((accu_in.prev_elt <=
-	 elt) and accu_in.prop_is_tt)};
+    accu_out =
+	triSel::sorted_iter_accu{prev_elt=elt;prop_is_tt=((accu_in.prev_elt <= elt)
+	 and accu_in.prop_is_tt)};
 tel
 -- end of node triSel::sorted_iter
 node triSel::Sorted(TIn:A_int_50) returns (ok:bool);
@@ -17140,7 +17149,7 @@ var
 let
    TSorted = (triSel::triSel(TIn));
     accu_out = (red<<triSel::sorted_iter,
-	 50>>(sorted_iter_accu{prev_elt=0;prop_is_tt=true}, TSorted));
+	 50>>(triSel::sorted_iter_accu{prev_elt=0;prop_is_tt=true}, TSorted));
    ok = accu_out.prop_is_tt;
 tel
 -- end of node triSel::Sorted
@@ -17192,8 +17201,9 @@ node contractForElementSelectionInArray::selectOneStage(
 returns (
 	acc_out:_contractForElementSelectionInArray::iteratedStruct);
 let
-    acc_out = iteratedStruct{currentRank=(acc_in.currentRank +
-	1);rankToSelect=acc_in.rankToSelect;elementSelected=( if
+    acc_out =
+	contractForElementSelectionInArray::iteratedStruct{currentRank=(acc_in.currentRank
+	+ 1);rankToSelect=acc_in.rankToSelect;elementSelected=( if
 	(acc_in.currentRank = acc_in.rankToSelect) then currentElt else
 	 acc_in.elementSelected)};
 tel
@@ -17209,7 +17219,7 @@ var
 let
     iterationResult =
 	(red<<contractForElementSelectionInArray::selectOneStage,
-	10>>(iteratedStruct{currentRank=0;rankToSelect=rankToSelect;elementSelected=0},
+	10>>(contractForElementSelectionInArray::iteratedStruct{currentRank=0;rankToSelect=rankToSelect;elementSelected=0},
 	 array));
    elementSelected = iterationResult.elementSelected;
 tel
@@ -17247,8 +17257,8 @@ returns (
 	acc_out:_intArray::T_isElementOf_);
 let
     acc_out =
-	T_isElementOf_{eltToSearch=acc_in.eltToSearch;iselementof=(acc_in or
-	 (intArray::_isEqualTo_(acc_in.eltToSearch, elt_in)))};
+	intArray::T_isElementOf_{eltToSearch=acc_in.eltToSearch;iselementof=(acc_in
+	 or (intArray::_isEqualTo_(acc_in.eltToSearch, elt_in)))};
 tel
 -- end of node intArray::iterated_isElementOf_
 
@@ -17261,7 +17271,7 @@ var
    acc_out:_intArray::T_isElementOf_;
 let
     acc_out = (red<<intArray::iterated_isElementOf_,
-	 10>>(T_isElementOf_{eltToSearch=e;iselementof=false}, t));
+	 10>>(intArray::T_isElementOf_{eltToSearch=e;iselementof=false}, t));
    iselementof = acc_out.iselementof;
 tel
 -- end of node intArray::_isElementOf_
@@ -17284,7 +17294,7 @@ returns (
 	acc_out:_intArray::forSortingAlgo);
 let
     acc_out =
-	forSortingAlgo{previousElement=elt;sortedUpToHere=((intArray::_isGreaterOrEqualTo_(elt,
+	intArray::forSortingAlgo{previousElement=elt;sortedUpToHere=((intArray::_isGreaterOrEqualTo_(elt,
 	 acc_in.previousElement)) and acc_in.sortedUpToHere)};
 tel
 -- end of node intArray::isLocallyLoselySorted
@@ -17297,7 +17307,8 @@ var
    result:_intArray::forSortingAlgo;
 let
     result = (red<<intArray::isLocallyLoselySorted,
-	 10>>(forSortingAlgo{previousElement=array[0];sortedUpToHere=true}, array));
+	10>>(intArray::forSortingAlgo{previousElement=array[0];sortedUpToHere=true},
+	 array));
    array_isLoselySorted = result.sortedUpToHere;
 tel
 -- end of node intArray::_isLoselySorted
@@ -17312,11 +17323,12 @@ node intArray::minFromRank(
 returns (
 	accu_out:_intArray::MinFR_accu);
 let
-    accu_out = MinFR_accu{MinVal=( if (accu_in.Rank <= accu_in.RankFrom) then
-	TabEltIn else ( if (accu_in.Rank >= accu_in.RankFrom) then ( if (TabEltIn <
-	accu_in.MinVal) then TabEltIn else accu_in.MinVal) else
-	accu_in.MinVal));MinRank=( if (accu_in.Rank > accu_in.RankFrom) then ( if
-	(TabEltIn < accu_in.MinVal) then accu_in.Rank else accu_in.MinRank) else
+    accu_out = intArray::MinFR_accu{MinVal=( if (accu_in.Rank <=
+	accu_in.RankFrom) then TabEltIn else ( if (accu_in.Rank >=
+	accu_in.RankFrom) then ( if (TabEltIn < accu_in.MinVal) then TabEltIn else
+	accu_in.MinVal) else accu_in.MinVal));MinRank=( if (accu_in.Rank >
+	accu_in.RankFrom) then ( if (TabEltIn < accu_in.MinVal) then accu_in.Rank
+	else accu_in.MinRank) else
 	 accu_in.MinRank);RankFrom=accu_in.RankFrom;Rank=(accu_in.Rank + 1)};
 tel
 -- end of node intArray::minFromRank
@@ -17328,7 +17340,7 @@ returns (
 	accu_out:_intArray::Select_accu);
 let
     accu_out =
-	Select_accu{RankToFind=accu_in.RankToFind;CurrentRank=(accu_in.CurrentRank
+	intArray::Select_accu{RankToFind=accu_in.RankToFind;CurrentRank=(accu_in.CurrentRank
 	+ 1);Val=( if (accu_in.RankToFind = accu_in.CurrentRank) then elt else
 	 accu_in.Val)};
 tel
@@ -17352,7 +17364,7 @@ var
    _v9:int;
 let
     accu_out =
-	Exchange_accu{MinVal=accu_in.MinVal;MinRank=accu_in.MinRank;RankFrom=accu_in.RankFrom;CurrentVal=accu_in.CurrentVal;Rank=(accu_in.Rank
+	intArray::Exchange_accu{MinVal=accu_in.MinVal;MinRank=accu_in.MinRank;RankFrom=accu_in.RankFrom;CurrentVal=accu_in.CurrentVal;Rank=(accu_in.Rank
 	 + 1)};
    eltOut = ( if _v3 then _v4 else _v9);
    _v1 = accu_in.Rank;
@@ -17382,18 +17394,19 @@ var
    _v3:A_int_10;
 let
     accu_out_min = (red<<intArray::minFromRank,
-	10>>(MinFR_accu{MinVal=0;MinRank=accu_in.CurrentRank;RankFrom=accu_in.CurrentRank;Rank=0},
+	10>>(intArray::MinFR_accu{MinVal=0;MinRank=accu_in.CurrentRank;RankFrom=accu_in.CurrentRank;Rank=0},
 	 _v1));
    _v1 = accu_in.Tab;
     accu_out_select = (red<<intArray::select,
-	10>>(Select_accu{RankToFind=accu_in.CurrentRank;CurrentRank=0;Val=0},
+	10>>(intArray::Select_accu{RankToFind=accu_in.CurrentRank;CurrentRank=0;Val=0},
 	 _v2));
    _v2 = accu_in.Tab;
     (accu_out_exchange, localTab) = (fillred<<intArray::Exchange_i_j,
-	10>>(Exchange_accu{MinVal=accu_out_min.MinVal;MinRank=accu_out_min.MinRank;RankFrom=accu_out_select.RankToFind;CurrentVal=accu_out_select.Val;Rank=0},
+	10>>(intArray::Exchange_accu{MinVal=accu_out_min.MinVal;MinRank=accu_out_min.MinRank;RankFrom=accu_out_select.RankToFind;CurrentVal=accu_out_select.Val;Rank=0},
 	 _v3));
    _v3 = accu_in.Tab;
-   accu_out = Sort_accu{CurrentRank=(accu_in.CurrentRank + 1);Tab=localTab};
+    accu_out = intArray::Sort_accu{CurrentRank=(accu_in.CurrentRank +
+	 1);Tab=localTab};
 tel
 -- end of node intArray::UnarySort
 node intArray::sort_(array:A_int_10) returns (arraySorted:A_int_10);
@@ -17401,7 +17414,7 @@ var
    UnarySort_accu_out:_intArray::Sort_accu;
 let
     UnarySort_accu_out = (red<<intArray::UnarySort,
-	 10>>(Sort_accu{CurrentRank=0;Tab=array}, array));
+	 10>>(intArray::Sort_accu{CurrentRank=0;Tab=array}, array));
    arraySorted = UnarySort_accu_out.Tab;
 tel
 -- end of node intArray::sort_
@@ -17433,7 +17446,7 @@ node intArray::selectOneStage(
 returns (
 	acc_out:_intArray::iteratedStruct);
 let
-    acc_out = iteratedStruct{currentRank=(acc_in.currentRank +
+    acc_out = intArray::iteratedStruct{currentRank=(acc_in.currentRank +
 	1);rankToSelect=acc_in.rankToSelect;elementSelected=( if
 	(acc_in.currentRank = acc_in.rankToSelect) then currentElt else
 	 acc_in.elementSelected)};
@@ -17449,7 +17462,7 @@ var
    iterationResult:_intArray::iteratedStruct;
 let
     iterationResult = (red<<intArray::selectOneStage,
-	10>>(iteratedStruct{currentRank=0;rankToSelect=rankToSelect;elementSelected=array[0]},
+	10>>(intArray::iteratedStruct{currentRank=0;rankToSelect=rankToSelect;elementSelected=array[0]},
 	 array));
    elementSelected = iterationResult.elementSelected;
 tel
@@ -17482,7 +17495,8 @@ node intArray::selectMaxRank(
 returns (
 	acc_out:_intArray::currentRank_withMemorizedRank);
 let
-    acc_out = currentRank_withMemorizedRank{currentRank=(acc_in.currentRank +
+    acc_out =
+	intArray::currentRank_withMemorizedRank{currentRank=(acc_in.currentRank +
 	1);rankOfMemorizedVal=( if (intArray::_isGreaterThan_(e1,
 	acc_in.memorizedVal)) then acc_in.currentRank else
 	acc_in.rankOfMemorizedVal);memorizedVal=( if (intArray::_isGreaterThan_(e1,
@@ -17498,7 +17512,7 @@ var
    local:_intArray::currentRank_withMemorizedRank;
 let
     local = (red<<intArray::selectMaxRank,
-	10>>(currentRank_withMemorizedRank{currentRank=0;rankOfMemorizedVal=0;memorizedVal=array[0]},
+	10>>(intArray::currentRank_withMemorizedRank{currentRank=0;rankOfMemorizedVal=0;memorizedVal=array[0]},
 	 array));
    rankOfMaximumElement = local.rankOfMemorizedVal;
 tel
@@ -17510,7 +17524,8 @@ node intArray::selectMinRank(
 returns (
 	acc_out:_intArray::currentRank_withMemorizedRank);
 let
-    acc_out = currentRank_withMemorizedRank{currentRank=(acc_in.currentRank +
+    acc_out =
+	intArray::currentRank_withMemorizedRank{currentRank=(acc_in.currentRank +
 	1);rankOfMemorizedVal=( if (intArray::_isEqualTo_(acc_in.memorizedVal,
 	elt)) then acc_in.currentRank else
 	 acc_in.rankOfMemorizedVal);memorizedVal=acc_in.memorizedVal};
@@ -17528,7 +17543,7 @@ let
    minElement = (intArray::getMinimumIn_(array));
    rankOfMinimumElement = _v1.rankOfMemorizedVal;
     _v1 = (red<<intArray::selectMinRank,
-	10>>(currentRank_withMemorizedRank{currentRank=0;rankOfMemorizedVal=0;memorizedVal=minElement},
+	10>>(intArray::currentRank_withMemorizedRank{currentRank=0;rankOfMemorizedVal=0;memorizedVal=minElement},
 	 array));
 tel
 -- end of node intArray::getRank_ofMinimumIn_
@@ -17587,9 +17602,9 @@ node tri::minFromRank(
 returns (
 	accu_out:_tri::MinFR_accu);
 let
-    accu_out = MinFR_accu{MinVal=( if (accu_in.Rank <= accu_in.RankFrom) then
-	TabEltIn else ( if (accu_in.Rank >= accu_in.RankFrom) then ( if (TabEltIn <
-	accu_in.MinVal) then TabEltIn else accu_in.MinVal) else
+    accu_out = tri::MinFR_accu{MinVal=( if (accu_in.Rank <= accu_in.RankFrom)
+	then TabEltIn else ( if (accu_in.Rank >= accu_in.RankFrom) then ( if
+	(TabEltIn < accu_in.MinVal) then TabEltIn else accu_in.MinVal) else
 	accu_in.MinVal));MinRank=( if (accu_in.Rank > accu_in.RankFrom) then ( if
 	(TabEltIn < accu_in.MinVal) then accu_in.Rank else accu_in.MinRank) else
 	 accu_in.MinRank);RankFrom=accu_in.RankFrom;Rank=(accu_in.Rank + 1)};
@@ -17603,7 +17618,7 @@ returns (
 	accu_out:_tri::Select_accu);
 let
     accu_out =
-	Select_accu{RankToFind=accu_in.RankToFind;CurrentRank=(accu_in.CurrentRank
+	tri::Select_accu{RankToFind=accu_in.RankToFind;CurrentRank=(accu_in.CurrentRank
 	+ 1);Val=( if (accu_in.RankToFind = accu_in.CurrentRank) then elt else
 	 accu_in.Val)};
 tel
@@ -17627,7 +17642,7 @@ var
    _v9:int;
 let
     accu_out =
-	Exchange_accu{MinVal=accu_in.MinVal;MinRank=accu_in.MinRank;RankFrom=accu_in.RankFrom;CurrentVal=accu_in.CurrentVal;Rank=(accu_in.Rank
+	tri::Exchange_accu{MinVal=accu_in.MinVal;MinRank=accu_in.MinRank;RankFrom=accu_in.RankFrom;CurrentVal=accu_in.CurrentVal;Rank=(accu_in.Rank
 	 + 1)};
    eltOut = ( if _v3 then _v4 else _v9);
    _v1 = accu_in.Rank;
@@ -17657,18 +17672,19 @@ var
    _v3:A_int_10;
 let
     accu_out_min = (red<<tri::minFromRank,
-	10>>(MinFR_accu{MinVal=0;MinRank=accu_in.CurrentRank;RankFrom=accu_in.CurrentRank;Rank=0},
+	10>>(tri::MinFR_accu{MinVal=0;MinRank=accu_in.CurrentRank;RankFrom=accu_in.CurrentRank;Rank=0},
 	 _v1));
    _v1 = accu_in.Tab;
     accu_out_select = (red<<tri::select,
-	10>>(Select_accu{RankToFind=accu_in.CurrentRank;CurrentRank=0;Val=0},
+	10>>(tri::Select_accu{RankToFind=accu_in.CurrentRank;CurrentRank=0;Val=0},
 	 _v2));
    _v2 = accu_in.Tab;
     (accu_out_exchange, localTab) = (fillred<<tri::Exchange_i_j,
-	10>>(Exchange_accu{MinVal=accu_out_min.MinVal;MinRank=accu_out_min.MinRank;RankFrom=accu_out_select.RankToFind;CurrentVal=accu_out_select.Val;Rank=0},
+	10>>(tri::Exchange_accu{MinVal=accu_out_min.MinVal;MinRank=accu_out_min.MinRank;RankFrom=accu_out_select.RankToFind;CurrentVal=accu_out_select.Val;Rank=0},
 	 _v3));
    _v3 = accu_in.Tab;
-   accu_out = Sort_accu{CurrentRank=(accu_in.CurrentRank + 1);Tab=localTab};
+    accu_out = tri::Sort_accu{CurrentRank=(accu_in.CurrentRank +
+	 1);Tab=localTab};
 tel
 -- end of node tri::UnarySort
 node tri::main(TIn:A_int_10) returns (TSorted:A_int_10);
@@ -17677,7 +17693,8 @@ var
    _v1:A_int_10;
 let
     UnarySort_accu_out = (red<<tri::UnarySort,
-	 10>>(Sort_accu{CurrentRank=0;Tab=([7, 8, 4, 3, 2, 9, 1, 10, 2, 7])}, _v1));
+	10>>(tri::Sort_accu{CurrentRank=0;Tab=([7, 8, 4, 3, 2, 9, 1, 10, 2, 7])},
+	 _v1));
    _v1 = ([7, 8, 4, 3, 2, 9, 1, 10, 2, 7]);
    TSorted = UnarySort_accu_out.Tab;
 tel
@@ -17689,8 +17706,9 @@ node tri::sorted_iter(
 returns (
 	accu_out:_tri::sorted_iter_accu);
 let
-    accu_out = sorted_iter_accu{prev_elt=elt;prop_is_tt=((accu_in.prev_elt <=
-	 elt) and accu_in.prop_is_tt)};
+    accu_out =
+	tri::sorted_iter_accu{prev_elt=elt;prop_is_tt=((accu_in.prev_elt <= elt)
+	 and accu_in.prop_is_tt)};
 tel
 -- end of node tri::sorted_iter
 node tri::Sorted(TIn:A_int_10) returns (res:bool);
@@ -17700,7 +17718,7 @@ var
 let
    TSorted = (tri::main(TIn));
     accu_out = (red<<tri::sorted_iter,
-	 10>>(sorted_iter_accu{prev_elt=0;prop_is_tt=true}, TSorted));
+	 10>>(tri::sorted_iter_accu{prev_elt=0;prop_is_tt=true}, TSorted));
    res = accu_out.prop_is_tt;
 tel
 -- end of node tri::Sorted
@@ -17806,7 +17824,7 @@ var
    _v5:real;
    _v6:real;
 let
-   out2 = selType{i=0;b=true;r=0.};
+   out2 = inter::selType{i=0;b=true;r=0.};
    out.i = (pint::fby1(_v1, _v2));
    _v1 = out2.i;
    _v2 = in.i;
@@ -17873,7 +17891,7 @@ var
    _v5:real;
    _v6:real;
 let
-   out2 = selType{i=0;b=true;r=0.};
+   out2 = inter::selType{i=0;b=true;r=0.};
    out.i = (pint::fby1(_v1, _v2));
    _v1 = out2.i;
    _v2 = in.i;
-- 
GitLab