[31m--------------------------------------------------------------------------------------------------------------------------------------------------------------[m
[31m-- Gnostic is Ada Generic Neural Object System Engineering.                                                                                                --[m
[31m-- Gnostic (C) Copyright 2016 Manuel De Girardi.                                                                                                           --[m
[31m--------------------------------------------------------------------------------------------------------------------------------------------------------------[m
  
[31m--------------------------------------------------------------------------------------------------------------------------------------------------------------[m
[31m-- Date        := 2016-12-03 00:11:01 ; [m
[31m-- Description : Ada Generic Neural Object System Engineering.                                                                                              --[m
[31m-- Version     := 2016.34.2a ; [m
[31m-- Authors     : Manuel De Girardi.                                                                                                                         --[m
[31m--------------------------------------------------------------------------------------------------------------------------------------------------------------[m
[01;34mwith[m Ada[31m.[mWide_Text_Io[31m;[m
[31m--with Ada.Text_Io;[m
[01;34muse[m Ada[31m;[m
[01;34mwith[m Gnat[31m.[mOs_Lib[31m;[m
[01;34muse[m Gnat[31m.[mOs_Lib[31m;[m
[01;34mwith[m Gnat[31m.[mCommand_Line[31m;[m
[01;34muse[m Gnat[31m;[m
[01;34mwith[m Ada[31m.[mCharacters[31m.[mHandling[31m;[m
[01;34muse[m Ada[31m.[mCharacters[31m.[mHandling[31m;[m
[01;34mwith[m Gnos[31m.[mVersions[31m;[m
[01;34mwith[m Gnos[31m.[mVersions[31m.[mVersion_Io[31m;[m
[01;34muse[m Gnos[31m.[mVersions[31m;[m
[01;34mpackage[m [01;34mbody[m Gnos[31m.[mParameters [01;34mis[m
   
   
   [01;34mprocedure[m [01;30mAll_Parameters[m[31m([mAll_Params [31m:[m [01;34min[m [01;34mout[m Gnose_Parameters_Type[31m)[m [01;34mis[m

   [01;34mbegin[m
      [31m--  Text_Io.Put_Line("Human Lang");[m
      [01;34mif[m [01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Human_Lang[31m).[mIs_Setted [01;34mthen[m
      	 All_Params[31m.[mHuman_Lang [31m:=[m Human_Lang_Enum'[01;30mValue[m[31m([m[01;30mTo_String[m[31m([m[01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Human_Lang[31m).[mValue[31m.[m[01;34mall[m[31m));[m
      [01;34mend[m [01;34mif[m[31m;[m
      [31m--  Text_Io.Put_Line("Self wait");[m
      [01;34mif[m [01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Self_Wait[31m).[mIs_Setted [01;34mthen[m
   	 All_Params[31m.[mSelf_wait [31m:=[m [32mDuration[m'[01;30mValue[m[31m([m[01;30mTo_String[m[31m([m[01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Self_Wait[31m).[mValue[31m.[m[01;34mall[m[31m));[m
      [01;34mend[m [01;34mif[m[31m;[m
      [31m--  Text_Io.Put_Line("user wait");[m
      [01;34mif[m [01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m User_Wait[31m).[mIs_Setted [01;34mthen[m
   	 All_Params[31m.[mUser_wait [31m:=[m [32mDuration[m'[01;30mValue[m[31m([m[01;30mTo_String[m[31m([m[01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m User_Wait[31m).[mValue[31m.[m[01;34mall[m[31m));[m
      [01;34mend[m [01;34mif[m[31m;[m
      [31m--  Text_Io.Put_Line("Programming");[m
      [01;34mif[m [01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Self_Programming[31m).[mIs_Setted [01;34mthen[m
   	 All_Params[31m.[mSelf_programming [31m:=[m [32mBoolean[m'[01;30mValue[m[31m([m[01;30mTo_String[m[31m([m[01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Self_Programming[31m).[mValue[31m.[m[01;34mall[m[31m));[m
      [01;34mend[m [01;34mif[m[31m;[m
      [31m--  Text_Io.Put_Line("Executed");[m
      [01;34mif[m [01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Self_Executed[31m).[mIs_Setted [01;34mthen[m
   	 All_Params[31m.[mSelf_executed [31m:=[m [32mBoolean[m'[01;30mValue[m[31m([m[01;30mTo_String[m[31m([m[01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Self_Executed[31m).[mValue[31m.[m[01;34mall[m[31m));[m
      [01;34mend[m [01;34mif[m[31m;[m
      [31m--  Text_Io.Put_Line("Objects max");[m
      [01;34mif[m [01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Object_Max[31m).[mIs_Setted [01;34mthen[m
   	 All_Params[31m.[mObjects_max [31m:=[m Object_Index_Type'[01;30mValue[m[31m([m[01;30mTo_String[m[31m([m[01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Object_Max[31m).[mValue[31m.[m[01;34mall[m[31m));[m
      [01;34mend[m [01;34mif[m[31m;[m
      [31m--  Text_Io.Put_Line("Char max");[m
      [01;34mif[m [01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Char_Max[31m).[mIs_Setted [01;34mthen[m
   	 All_Params[31m.[mChar_Max [31m:=[m Char_Index_type'[01;30mValue[m[31m([m[01;30mTo_String[m[31m([m[01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Char_Max[31m).[mValue[31m.[m[01;34mall[m[31m));[m
      [01;34mend[m [01;34mif[m[31m;[m
      [31m--  Text_Io.Put_Line("Version");[m
      [01;34mif[m [01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Version[31m).[mIs_Setted [01;34mthen[m
   	 All_Params[31m.[mVersion [31m:=[m Version_Index_type'[01;30mValue[m[31m([m[01;30mTo_String[m[31m([m[01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Version[31m).[mValue[31m.[m[01;34mall[m[31m));[m
      [01;34mend[m [01;34mif[m[31m;[m
      [31m--  Text_Io.Put_Line("Name length");[m
      [01;34mif[m [01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Name_Length[31m).[mIs_Setted [01;34mthen[m
   	 All_Params[31m.[mName_Length [31m:=[m Positive'[01;30mValue[m[31m([m[01;30mTo_String[m[31m([m[01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Name_Length[31m).[mValue[31m.[m[01;34mall[m[31m));[m
      [01;34mend[m [01;34mif[m[31m;[m
      [31m--  Text_Io.Put_Line("unit max");[m
      [01;34mif[m [01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Unit_Max[31m).[mIs_Setted [01;34mthen[m
   	 All_Params[31m.[mUnit_Max [31m:=[m Positive'[01;30mValue[m[31m([m[01;30mTo_String[m[31m([m[01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m Unit_Max[31m).[mValue[31m.[m[01;34mall[m[31m));[m
      [01;34mend[m [01;34mif[m[31m;[m
      [31m--  Text_Io.Put_Line("Gtk");[m
      [01;34mif[m [01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m With_Gtk[31m).[mIs_Setted [01;34mthen[m
   	 All_Params[31m.[mWith_Gtk [31m:=[m [32mBoolean[m'[01;30mValue[m[31m([m[01;30mTo_String[m[31m([m[01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m With_Gtk[31m).[mValue[31m.[m[01;34mall[m[31m));[m
      [01;34mend[m [01;34mif[m[31m;[m
      [31m--  Text_Io.Put_Line("Ada");[m
      [01;34mif[m [01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m With_Ada[31m).[mIs_Setted [01;34mthen[m
   	 All_Params[31m.[mWith_Ada [31m:=[m [32mBoolean[m'[01;30mValue[m[31m([m[01;30mTo_String[m[31m([m[01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m With_Ada[31m).[mValue[31m.[m[01;34mall[m[31m));[m
      [01;34mend[m [01;34mif[m[31m;[m
      [31m--  Text_Io.Put_Line("Aws");[m
      [01;34mif[m [01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m With_Aws[31m).[mIs_Setted [01;34mthen[m
   	 All_Params[31m.[mWith_Aws [31m:=[m [32mBoolean[m'[01;30mValue[m[31m([m[01;30mTo_String[m[31m([m[01;30mGet_Parameter[m[31m([mAll_Params[31m.[mKit[31m,[m With_Aws[31m).[mValue[31m.[m[01;34mall[m[31m));[m
      [01;34mend[m [01;34mif[m[31m;[m            
      
   [01;34mend[m All_Parameters[31m;[m
   
   
   [01;34mprocedure[m [01;30mPrint_Parameters[m [31m([mKit [31m:[m [01;34min[m Parameters_Kit_Array_Type[31m)[m [01;34mis[m
   [01;34mbegin[m
      [01;34mfor[m Parameter_Flag [01;34min[m Parameters_Flags_Enum_Type'[01;34mrange[m [01;34mloop[m
	 
	 [01;34mcase[m Parameter_Flag [01;34mis[m
	    
	    [01;34mwhen[m Null_Parameter [31m=>[m
	       
	       [01;34mnull[m[31m;[m
	    [01;34mwhen[m [01;34mothers[m [31m=>[m
	       
	       [01;34mif[m [01;30mkit[m[31m([mParameter_Flag[31m).[mIs_Setted [01;34mand[m
		 
		 [01;30mkit[m[31m([mParameter_Flag[31m).[mRequiered_Parameter  [01;34mthen[m
		  
		  
		  [01;34mdeclare[m
		     Parameter [31m:[m [01;34mconstant[m [32mWide_String[m [31m:=[m 
		       [01;30mkit[m[31m([mParameters_Flags_Enum_Type[31m'Val(Parameters_Flags_Enum_Type'[m[01;30mPos[m[31m([mParameter_Flag[31m))).[mValue[31m.[m[01;34mall[m[31m;[m
		  [01;34mbegin[m
		     Wide_Text_Io[31m.[mPut_Line
		       [31m([mTo_Wide_String
			  [31m([m
			   Parameters_Flags_Enum_Type'[01;30mImage[m[31m([mParameter_Flag[31m))[m [31m&[m
			  [31m" setted with parameter : "[m [31m&[m 
			  [31m""[m [31m&[m Parameter [31m&[m [31m""[m [31m&[m [31m" ; "[m[31m);[m
		  [01;34mend[m[31m;[m
	       [01;34melsif[m  [01;30mkit[m[31m([mParameter_Flag[31m).[mIs_Setted [01;34mthen[m		  
		  Wide_Text_Io[31m.[mPut_Line
		    [31m([m[01;30mTo_Wide_String[m[31m([mParameters_Flags_Enum_Type'[01;30mImage[m[31m([mParameter_Flag[31m))[m [31m&[m
		       [31m" setted without parameter."[m[31m);[m		  
	       [01;34mend[m [01;34mif[m[31m;[m
	 [01;34mend[m [01;34mcase[m[31m;[m
	 
      [01;34mend[m [01;34mloop[m[31m;[m
   [01;34mend[m Print_Parameters[31m;[m
   
   
   [01;34mprocedure[m [01;30mSet_Parameters[m[31m([mThe_Parameters [31m:[m [01;34mout[m Parameters_Kit_Record[31m;[m			    
			    Options_Kit [31m:[m [01;34min[m Options_Kit_Array_Type[31m)[m [01;34mis[m
     

     
      
   [01;34mbegin[m
     
      [31m------------------------------------------------------------------[m
      [31m--                                                              --[m
      [31m-- Initilaisation des parametres depuis les options.            --[m
      [31m--                                                              --[m
      [31m------------------------------------------------------------------[m
      [01;34mfor[m Option_Flag [01;34min[m Optionals_Flags_Enum_Type'[01;34mrange[m [01;34mloop[m
	 
	 [01;34mcase[m Option_Flag [01;34mis[m
	    
	    [01;34mwhen[m Null_Option [31m=>[m
	       
	       [01;34mnull[m[31m;[m
	    [01;34mwhen[m [01;34mothers[m [31m=>[m
	       
	       The_Parameters[31m.[mkit
		 
		 [31m([m
		  
		  Parameters_Flags_Enum_Type'Val
		    
		    [31m([m
		     
		     Optionals_Flags_Enum_Type'[01;30mPos[m[31m([mOption_Flag[31m)[m
		       
		    [31m)[m
		    
		 [31m).[mIs_Setted [31m:=[m 
		 
		 [01;30mOptions_Kit[m[31m([mOption_Flag[31m).[mIs_Setted[31m;[m
	       
	       	       
	       [01;34mif[m [01;30mOptions_Kit[m[31m([mOption_Flag[31m).[mIs_Setted [01;34mand[m
		 
		 [01;30mOptions_Kit[m[31m([mOption_Flag[31m).[mRequiered_Parameter  [01;34mthen[m
		  
		  The_Parameters[31m.[mKit
		    
		    [31m([m
		     
		     Parameters_Flags_Enum_Type'Val
		       
		       [31m([m
			
			Optionals_Flags_Enum_Type'[01;30mPos[m[31m([mOption_Flag[31m)[m
			  
		       [31m)[m
		       
		    [31m).[mValue [31m:=[m
		    
		    [01;34mnew[m [32mWide_String[m ' 
		    
		    [31m([m
		     
		     [01;30mOptions_Kit[m[31m([mOption_Flag[31m).[mValue[31m.[m[01;34mall[m
		       
		    [31m);[m
	       [01;34mend[m [01;34mif[m[31m;[m
	       
	 [01;34mend[m [01;34mcase[m[31m;[m
	 
      [01;34mend[m [01;34mloop[m[31m;[m
                 
   [01;34mend[m Set_Parameters[31m;[m
   

   
   [01;34mfunction[m Set_Parameters_From
     
     [31m([mFilename [31m:[m [01;34min[m [32mWide_String[m[31m)[m 
     
     [01;34mreturn[m Parameters_Kit_Record [01;34mis[m
      
      Parameters_Kit [31m:[m Parameters_Kit_Record [31m:=[m

	[31m([mKit [31m=>[m File_Parameters[31m);[m
      
      
      Options_Kit [31m:[m [01;34maccess[m Options_Kit_Array_Type[31m;[m	   
                  
   [01;34mbegin[m
      Options_Kit [31m:=[m [01;34mnew[m Options_Kit_Array_Type ' [31m([m[01;30mGet_Options_From_File[m[31m([mfilename[31m));[m      
      [01;30mSet_Parameters[m[31m([mParameters_Kit[31m,[m Options_Kit[31m.[m[01;34mAll[m[31m);[m
      [01;34mreturn[m Parameters_Kit[31m;[m
   [01;34mend[m Set_Parameters_From[31m;[m
   
   [01;34mfunction[m Get_Parameter
     [31m([mFrom [31m:[m [01;34min[m Parameters_Kit_Array_Type[31m;[m
      Flag [31m:[m [01;34min[m Parameters_Flags_Enum_Type[31m)[m
     [01;34mreturn[m Parameter_Tagged_Record_Type [01;34mis[m
   [01;34mbegin[m
      [01;34mreturn[m [01;30mFrom[m[31m([mFlag[31m).[m[01;34mall[m[31m;[m
   [01;34mend[m Get_Parameter[31m;[m
   
   [01;34mprocedure[m Parameters_Descriptions
     [31m([mFrom [31m:[m [01;34min[m Parameters_Kit_Array_Type[31m)[m [01;34mis[m
   [01;34mbegin[m
      Wide_Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"Help: gnostic [ Options [ Parameters ] ]"[m[31m);[m
      Wide_Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"Help: Options : "[m[31m);[m
      [01;34mfor[m Parameter_Flag [01;34min[m Config_filename[31m..[mParameters_Flags_Enum_Type'Last [01;34mloop[m
	 [01;34mdeclare[m
	    Parameter [31m:[m [01;34mconstant[m Parameter_Tagged_Record_Type [31m:=[m
	      [01;30mGet_Parameter[m[31m([mFrom[31m,[m Parameter_flag[31m);[m
	 [01;34mbegin[m	    
	    [01;34mif[m Parameter[31m.[mSwitch [31m/=[m [01;34mnull[m [01;34mthen[m
	       Wide_Text_Io[31m.[m[01;30mPut[m[31m([m[31m'-'[m [31m&[m Parameter[31m.[mSwitch[31m.[m[01;34mall[m [31m&[m [31m" : "[m[31m);[m
	    [01;34mend[m [01;34mif[m[31m;[m
	    [01;34mif[m Parameter[31m.[mDescr [31m/=[m [01;34mnull[m [01;34mthen[m
	       Wide_Text_Io[31m.[m[01;30mPut[m[31m([mParameter[31m.[mDescr[31m.[m[01;34mall[m [31m&[m [31m" => "[m[31m);[m
	    [01;34mend[m [01;34mif[m[31m;[m
	    [01;34mif[m Parameter[31m.[mRequiered_Parameter [01;34mthen[m
	      [01;34mif[m Parameter[31m.[mparam [31m/=[m [01;34mnull[m [01;34mthen[m
	       Wide_Text_Io[31m.[m[01;30mPut[m[31m([mParameter[31m.[mParam[31m.[m[01;34mall[m[31m);[m
	      [01;34mend[m [01;34mif[m[31m;[m
	    [01;34mend[m [01;34mif[m[31m;[m
	 [01;34mend[m[31m;[m
	 Wide_Text_Io[31m.[mNew_Line[31m;[m
      [01;34mend[m [01;34mloop[m[31m;[m
   [01;34mend[m Parameters_Descriptions[31m;[m
   
   
   [01;34mprocedure[m [01;30minitialize[m[31m([mGnose_Parameters [31m:[m [01;34min[m [01;34mout[m Gnose_Parameters_Type[31m;[m End_Of_Task [31m:[m [01;34mout[m [32mboolean[m[31m)[m [01;34mis[m

      
      Options_Kit [31m:[m [01;34maccess[m Options_Kit_Array_Type[31m;[m	   
      
      Help_Parameter [31m:[m [01;30mParameter_Tagged_Record_Type[m[31m([mFalse[31m);[m      
      
   [01;34mbegin[m
      
	End_Of_Task [31m:=[m False[31m;[m
      
      [01;34mbegin[m
	 
	 Options_Kit [31m:=[m [01;34mnew[m Options_Kit_Array_Type ' [31m([mGet_Options_From_Command_Line[31m);[m

	 [01;34mcase[m [01;30mOptions_Kit[m[31m([mConfig_Filename[31m).[mIs_Setted [01;34mis[m
	    [01;34mwhen[m False [31m=>[m
	       [01;34mif[m [01;30mIs_Regular_File[m[31m([m[31m"Config_File.txt"[m[31m)[m [01;34mthen[m
		  Gnose_Parameters[31m.[mKit [31m:=[m [01;30mSet_Parameters_from[m[31m([m[31m"Config_File.txt"[m[31m).[mkit[31m;[m
	       [01;34melse[m
		  Gnose_Parameters[31m.[mkit [31m:=[m File_Parameters[31m;[m
	       [01;34mend[m [01;34mif[m[31m;[m
	    [01;34mwhen[m True [31m=>[m
	       [01;30mParameters_Kit_Record[m[31m([mGnose_Parameters[31m)[m [31m:=[m [01;30mSet_Parameters_from[m[31m([m[01;30mOptions_Kit[m[31m([mConfig_Filename[31m).[mValue[31m.[m[01;34mall[m[31m);[m
	 [01;34mend[m [01;34mcase[m[31m;[m
	 [01;34mdeclare[m
	    All_Parameters_Kit [31m:[m Parameters_Kit_Record [31m:=[m [31m([mKit [31m=>[m Line_Parameters[31m);[m
	 [01;34mbegin[m
	    
	    [01;30mSet_Parameters[m[31m([mAll_Parameters_Kit[31m,[m Options_Kit[31m.[m[01;34mall[m[31m);[m
	    [01;34mfor[m Parameter_Id [01;34min[m Parameters_Flags_Enum_Type[31m'Val(1) ..Parameters_Flags_Enum_Type'[mlast  [01;34mloop[m
	       [01;34mif[m All_Parameters_Kit[31m.[m[01;30mKit[m[31m([mParameter_Id[31m).[mIs_Setted [01;34mthen[m		  
	    	  Gnose_Parameters[31m.[m[01;30mKit[m[31m([mParameter_Id[31m).[m[01;34mall[m [31m:=[m 
	    	    All_Parameters_Kit[31m.[m[01;30mKit[m[31m([mParameter_Id[31m).[m[01;34mall[m[31m;[m
	       [01;34mend[m [01;34mif[m[31m;[m
	    [01;34mend[m [01;34mloop[m[31m;[m	    
	 [01;34mend[m[31m;[m
	 
	 [01;30mAll_Parameters[m[31m([mGnose_Parameters[31m);[m
	 
	 
	 [01;34mcase[m [01;30mGet_Parameter[m[31m([mGnose_Parameters[31m.[mkit[31m,[m Version_Edition[31m).[mIs_Setted [01;34mis[m
	    [01;34mwhen[m False [31m=>[m
	       [01;34mnull[m[31m;[m
	    [01;34mwhen[m True [31m=>[m	    
	       Wide_Text_Io[31m.[m[01;30mPut_Line[m[31m([m[01;30mTo_Wide_String[m[31m([mGnos[31m.[mVersions[31m.[mVersion_Io[31m.[m[01;30mTo_String[m[31m([mGnos[31m.[mVersions[31m.[mVersion[31m)));[m
	       End_Of_Task [31m:=[m True[31m;[m
	 [01;34mend[m [01;34mcase[m[31m;[m
	 
	 Help_Parameter [31m:=[m
	   [01;30mGet_Parameter[m[31m([mGnose_Parameters[31m.[mkit[31m,[m Help[31m);[m
	 
	 [01;34mif[m Help_Parameter[31m.[mIs_Setted [01;34mthen[m
	    [01;30mParameters_Descriptions[m[31m([mGnose_Parameters[31m.[mKit[31m);[m
	    End_Of_Task [31m:=[m True[31m;[m
	 [01;34mend[m [01;34mif[m[31m;[m	 	 
	 
	 
      [01;34mexception[m      
	 [01;34mwhen[m Command_Line[31m.[mInvalid_Parameter [31m=>[m
	    Wide_Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"Exception in initialization of "[m[31m);[m
	 [01;34mraise[m[31m;[m	 
	 [01;34mwhen[m [01;34mothers[m [31m=>[m
	    Wide_Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"Exception in initialization of "[m[31m);[m
	    [01;34mraise[m[31m;[m
      
      [01;34mend[m[31m;[m
                        
   [01;34mend[m initialize[31m;[m
   
   
[01;34mend[m Gnos[31m.[mParameters[31m;[m
