let rec _Generation_Module_Init ce_module =
  match 
    ce_module.modTyp, 
    ce_module.declar 
  with
    (nomM, liste_param), 
    Var(liste_variable)::Assign(liste_assign)::_ -> 
      "\tpublic void init("^(_Liste_Parametre_Module liste_param)
      ^") \n\t{\n"
      ^(_Instanciation_Variable liste_assign 0)
      ^(_Instanciation_Objet liste_variable)
      ^(_Initialisation_Objet liste_variable "init")
      ^"\t\tthis.EX = new "^nomM^"(this.$nom + \".EX\");\n"
      ^"\t}\n\n"
          
  | (nomM, liste_param), 
        Var(liste_variable)::_ -> 
          "\tpublic void init("
          ^(_Liste_Parametre_Module liste_param)^") \n\t{\n"
          ^(_Instanciation_Objet liste_variable)
          ^(_Initialisation_Objet liste_variable "init")
          ^"\t\tthis.EX = new "^nomM^"(this.$nom + \".EX\");\n"
          ^"\t}\n\n"
  | _ , _ -> raise Declaration_non_valide