[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-04 15:05:40 ; [m
[31m-- Description : Ada Generic Neural Object System Engineering.                                                                                              --[m
[31m-- Version     := 2016.34.3a ; [m
[31m-- Authors     : Manuel De Girardi.                                                                                                                         --[m
[31m--------------------------------------------------------------------------------------------------------------------------------------------------------------[m

[01;34mwith[m Ada[31m.[mWide_Text_Io[31m;[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.[mDirectory_Operations[31m;[m
[01;34muse[m Gnat[31m.[mDirectory_Operations[31m;[m
With Gnat[31m.[mDirectory_Operations[31m.[mIteration[31m;[m
[01;34muse[m Gnat[31m.[mDirectory_Operations[31m.[mIteration[31m;[m
[01;34mwith[m Ada[31m.[mStrings[31m.[mFixed[31m;[m
[01;34muse[m Ada[31m.[mStrings[31m.[mFixed[31m;[m
[01;34muse[m Ada[31m.[mStrings[31m;[m
[01;34mwith[m Ada[31m.[mText_Io[31m;[m
[01;34muse[m Ada[31m.[mText_Io[31m;[m
[01;34mwith[m Ada[31m.[mContainers[31m.[mVectors[31m;[m
[01;34mpackage[m [01;34mbody[m Gnos[31m.[mProjects [01;34mis[m      
   
   
   [01;34mfunction[m [01;30mEgual_String[m[31m([mLeft[31m,[m Right [31m:[m [01;34min[m Name_type[31m)[m [01;34mreturn[m [32mBoolean[m [01;34mis[m
   [01;34mbegin[m
      
      [01;34mreturn[m Left [31m=[m Right[31m;[m
   [01;34mend[m Egual_String[31m;[m
   
   [01;34mpackage[m Filename_Vectors [01;34mis[m [01;34mnew[m Ada[31m.[mContainers[31m.[m[01;30mVectors[m[31m([mPositive[31m,[m Name_type[31m,[m Egual_string[31m);[m
   [01;34muse[m Filename_Vectors[31m;[m
   
   [01;34mfunction[m [01;30mCompare_String[m[31m([mLeft[31m,[m Right [31m:[m [01;34min[m Name_type[31m)[m [01;34mreturn[m [32mBoolean[m [01;34mis[m
   [01;34mbegin[m
      
      [01;34mreturn[m Left [31m<[m Right[31m;[m
   [01;34mend[m Compare_String[31m;[m
   
   [01;34mpackage[m Sorting [01;34mis[m [01;34mnew[m [01;30mGeneric_Sorting[m[31m([mCompare_String[31m);[m
   
   [01;34mprocedure[m [01;30mLoad_Project_Src[m[31m([mProject [31m:[m [01;34min[m [01;34mout[m Project_Record_Type'Class[31m;[mPath_Name [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mis[m
      
      Project_Vector [31m:[m Vector[31m;[m
      
      [01;34mprocedure[m [01;30mDir_Action[m[31m([mItem  [31m:[m        [32mString[m[31m;[m
			   Index [31m:[m        Positive[31m;[m
			   Quit  [31m:[m [01;34min[m [01;34mout[m [32mBoolean[m[31m)[m [01;34mis[m
	 [01;34mpragma[m [01;30mUnreferenced[m [31m([mIndex[31m);[m
	 Filename [31m:[m Name_type[31m;[m
      [01;34mbegin[m
	 
	 [01;34mif[m Item [31m/=[m [31m".\."[m [01;34mand[m Item [31m/=[m [31m".\.."[m [01;34mthen[m
	    [31m--Put_line(Item);[m
	    [01;30mMove[m[31m([mItem[31m,[m Filename[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
	    [01;30mappend[m[31m([mProject_Vector[31m,[m Filename[31m);[m
	    Quit [31m:=[m False[31m;[m
	 [01;34mend[m [01;34mif[m[31m;[m
      [01;34mend[m Dir_Action[31m;[m
      
      [01;34mprocedure[m Iterate [01;34mis[m [01;34mnew[m [01;30mWildcard_Iterator[m[31m([mDir_Action[31m);[m
      
      
   [01;34mbegin[m
      
      [31m--Put_Line("Project iterate : " & Path_Name);[m
      [01;30mIterate[m[31m([mPath_Name [31m&[m [31m"\src\*.adb"[m[31m);[m
      Sorting[31m.[m[01;30mSort[m[31m([mProject_Vector[31m);[m
      [31m--Put_Line("Reading filename...");[m
      [01;34mfor[m I [01;34min[m [35m1[m[31m..[m[01;30mLength[m[31m([mProject_Vector[31m)[m [01;34mloop[m
         text_io[31m.[m[01;30mput_line[m[31m([m[31m"Intex : "[m [31m&[m [32minteger[m'[01;30mimage[m[31m([m[32minteger[m[31m([mI[31m)));[m
	 [01;34mdeclare[m
	    Filename [31m:[m [01;34mconstant[m Name_type [31m:=[m [01;30mElement[m[31m([mProject_Vector[31m,[m [32mInteger[m[31m([mI[31m));[m
	 [01;34mbegin[m
            [31m--Put_Line("Move filename...");	    [m
	    [01;30mMove[m[31m([mFilename[31m,[m Project[31m.[mProj_Library[31m.[m[01;30mLibrary_Unit[m[31m([mProject[31m.[mProj_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m).[mFile_Name[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
            [31m--Put_Line("Reading base name of filename...");[m
	    [01;30mMove[m[31m([m[01;30mBase_Name[m[31m([mFilename[31m),[m Project[31m.[mProj_Library[31m.[m[01;30mLibrary_Unit[m[31m([mProject[31m.[mProj_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m).[mUnit_Name[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
            [31m--Put_Line("Library unit_Index + 1...");[m
            Project[31m.[mProj_Library[31m.[mUnit_Index [31m:=[m Project[31m.[mProj_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m;[m
            [31m--Put_Line("1 added.");[m
	 [01;34mend[m[31m;[m
      [01;34mend[m [01;34mloop[m[31m;[m
   [01;34mend[m Load_Project_Src[31m;[m
   
   [01;34mprocedure[m [01;30mLoad_Library[m[31m([mProject [31m:[m [01;34min[m [01;34mout[m Project_Record_Type'Class[31m;[mPath_Name [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mis[m
      
      Project_Vector [31m:[m Vector[31m;[m
      
      [01;34mprocedure[m [01;30mDir_Action[m[31m([mItem  [31m:[m        [32mString[m[31m;[m
			   Index [31m:[m        Positive[31m;[m
			   Quit  [31m:[m [01;34min[m [01;34mout[m [32mBoolean[m[31m)[m [01;34mis[m
	 
	 [01;34mpragma[m [01;30mUnreferenced[m [31m([mIndex[31m);[m
	 
	 Filename [31m:[m Name_type[31m;[m	 	 
      [01;34mbegin[m
	 
	 [01;34mif[m Item [31m/=[m [31m".\."[m [01;34mand[m Item [31m/=[m [31m".\.."[m [01;34mthen[m
	    [31m--Put_line(Item);[m
	    [01;30mMove[m[31m([mItem[31m,[m Filename[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
	    [01;30mappend[m[31m([mProject_Vector[31m,[m Filename[31m);[m
	    Quit [31m:=[m False[31m;[m
	 [01;34mend[m [01;34mif[m[31m;[m
      [01;34mend[m Dir_Action[31m;[m
      
      [01;34mprocedure[m Iterate [01;34mis[m [01;34mnew[m [01;30mWildcard_Iterator[m[31m([mDir_Action[31m);[m
      
      
   [01;34mbegin[m
      
      [31m--Put_Line("Library iterate : " & Path_Name);[m
      [01;30mIterate[m[31m([mPath_Name  [31m&[m [31m"*.ad?"[m[31m);[m
      [31m--Put_Line("Iterate : done.");[m
      [01;34mif[m [31m([mProject_Vector [31m/=[m Empty_Vector[31m)[m [01;34mthen[m
	 [31m--Put_Line("Library full");[m
	 Sorting[31m.[m[01;30mSort[m[31m([mProject_Vector[31m);[m
	 [31m--Put_Line("Library sorted");[m
	 [01;34mfor[m I [01;34min[m [35m1[m[31m..[m[01;30mLength[m[31m([mProject_Vector[31m)[m [01;34mloop[m
	    [01;34mdeclare[m
	       Filename [31m:[m [01;34mconstant[m Name_type [31m:=[m [01;30mElement[m[31m([mProject_Vector[31m,[m [32mInteger[m[31m([mI[31m));[m
	    [01;34mbegin[m
	       
	       [01;30mMove[m[31m([mfilename[31m,[m Project[31m.[mProj_Library[31m.[m[01;30mLibrary_Unit[m[31m([mProject[31m.[mProj_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m).[mFile_Name[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
      
	       [01;30mMove[m[31m([m[01;30mBase_Name[m[31m([mFilename[31m),[m Project[31m.[mProj_Library[31m.[m[01;30mLibrary_Unit[m[31m([mProject[31m.[mProj_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m).[mUnit_Name[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
	       
	       Project[31m.[mProj_Library[31m.[mUnit_Index [31m:=[m Project[31m.[mProj_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m;[m
	    [01;34mend[m[31m;[m
	 [01;34mend[m [01;34mloop[m[31m;[m
      [01;34mend[m [01;34mif[m[31m;[m
   [01;34mend[m Load_Library[31m;[m
   
   [01;34mprocedure[m [01;30mLoad_Ada[m[31m([mProject [31m:[m [01;34min[m [01;34mout[m Project_Record_Type'Class[31m;[mPath_Name [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mis[m
      
      Project_Vector [31m:[m Vector[31m;[m
      
      [01;34mprocedure[m [01;30mDir_Action[m[31m([mItem  [31m:[m        [32mString[m[31m;[m
			   Index [31m:[m        Positive[31m;[m
			   Quit  [31m:[m [01;34min[m [01;34mout[m [32mBoolean[m[31m)[m [01;34mis[m
	 
	 [01;34mpragma[m [01;30mUnreferenced[m [31m([mIndex[31m);[m
	 
	 Filename [31m:[m Name_type[31m;[m
      [01;34mbegin[m
	 
	 [01;34mif[m Item [31m/=[m [31m".\."[m [01;34mand[m Item [31m/=[m [31m".\.."[m [01;34mthen[m
	    [31m--Put_line(Item);[m
	    [01;30mMove[m[31m([mItem[31m,[m Filename[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
	    [01;30mappend[m[31m([mProject_Vector[31m,[m Filename[31m);[m
	    Quit [31m:=[m False[31m;[m
	 [01;34mend[m [01;34mif[m[31m;[m
      [01;34mend[m Dir_Action[31m;[m
      
      [01;34mprocedure[m Iterate [01;34mis[m [01;34mnew[m [01;30mWildcard_Iterator[m[31m([mDir_Action[31m);[m
      
      
   [01;34mbegin[m
      
      [31m--Put_Line("Library iterate : " & Path_Name);[m
      [01;30mIterate[m[31m([mPath_Name  [31m&[m [31m"*.ads"[m[31m);[m      
      Sorting[31m.[m[01;30mSort[m[31m([mProject_Vector[31m);[m
      Project[31m.[mAda_Library[31m.[mUnit_Index [31m:=[m [35m0[m[31m;[m
      [01;34mfor[m I [01;34min[m [35m1[m[31m..[m[01;30mLength[m[31m([mProject_Vector[31m)[m [01;34mloop[m
	 [01;34mdeclare[m
	    Filename [31m:[m [01;34mconstant[m Name_type [31m:=[m [01;30mElement[m[31m([mProject_Vector[31m,[m [32mInteger[m[31m([mI[31m));[m
	 [01;34mbegin[m

	    [01;30mMove[m[31m([mFilename[31m,[m Project[31m.[mAda_Library[31m.[m[01;30mLibrary_Unit[m[31m([mProject[31m.[mAda_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m).[mFile_Name[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
	    
	    [01;30mMove[m[31m([m[01;30mBase_Name[m[31m([mFilename[31m),[m Project[31m.[mAda_Library[31m.[m[01;30mLibrary_Unit[m[31m([mProject[31m.[mAda_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m).[mUnit_Name[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
	    
	    Project[31m.[mAda_Library[31m.[mUnit_Index [31m:=[m Project[31m.[mAda_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m;[m
	 [01;34mend[m[31m;[m
      [01;34mend[m [01;34mloop[m[31m;[m
   [01;34mend[m Load_Ada[31m;[m
   
   
   
   [01;34mprocedure[m [01;30mLoad_GtkAda[m[31m([mProject [31m:[m [01;34min[m [01;34mout[m Project_Record_Type'Class[31m;[mPath_Name [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mis[m
      
      Project_Vector [31m:[m Vector[31m;[m
      
      [01;34mprocedure[m [01;30mDir_Action[m[31m([mItem  [31m:[m        [32mString[m[31m;[m
			   Index [31m:[m        Positive[31m;[m
			   Quit  [31m:[m [01;34min[m [01;34mout[m [32mBoolean[m[31m)[m [01;34mis[m
	 
	 [01;34mpragma[m [01;30mUnreferenced[m [31m([mIndex[31m);[m
	 
	 Filename [31m:[m Name_type[31m;[m
      [01;34mbegin[m
	 
	 [01;34mif[m Item [31m/=[m [31m".\."[m [01;34mand[m Item [31m/=[m [31m".\.."[m [01;34mthen[m
	    [31m--Put_line(Item);[m
	    [01;30mMove[m[31m([mItem[31m,[m Filename[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
	    [01;30mappend[m[31m([mProject_Vector[31m,[m Filename[31m);[m
	    Quit [31m:=[m False[31m;[m
	 [01;34mend[m [01;34mif[m[31m;[m
      [01;34mend[m Dir_Action[31m;[m
      
      [01;34mprocedure[m Iterate [01;34mis[m [01;34mnew[m [01;30mWildcard_Iterator[m[31m([mDir_Action[31m);[m
      
      
   [01;34mbegin[m
      
      [31m--Put_Line("Library iterate : " & Path_Name);[m
      [01;30mIterate[m[31m([mPath_Name  [31m&[m [31m"*.ads"[m[31m);[m
      Sorting[31m.[m[01;30mSort[m[31m([mProject_Vector[31m);[m
      Project[31m.[mGtk_Library[31m.[mUnit_Index [31m:=[m [35m0[m[31m;[m
      [01;34mfor[m I [01;34min[m [35m1[m[31m..[m[01;30mLength[m[31m([mProject_Vector[31m)[m [01;34mloop[m
	 [01;34mdeclare[m
	    Filename [31m:[m [01;34mconstant[m Name_type [31m:=[m [01;30mElement[m[31m([mProject_Vector[31m,[m [32mInteger[m[31m([mI[31m));[m
	 [01;34mbegin[m
      
	    [01;30mMove[m[31m([mFilename[31m,[m Project[31m.[mGtk_Library[31m.[m[01;30mLibrary_Unit[m[31m([mProject[31m.[mGtk_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m).[mFile_Name[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
	    
	    [01;30mMove[m[31m([m[01;30mBase_Name[m[31m([mFilename[31m),[m Project[31m.[mGtk_Library[31m.[m[01;30mLibrary_Unit[m[31m([mProject[31m.[mGtk_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m).[mUnit_Name[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
	    
	    Project[31m.[mGtk_Library[31m.[mUnit_Index [31m:=[m Project[31m.[mGtk_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m;[m
	 [01;34mend[m[31m;[m
      [01;34mend[m [01;34mloop[m[31m;[m
   [01;34mend[m Load_GtkAda[31m;[m
   
   
   [01;34mprocedure[m [01;30mLoad_Aws[m[31m([mProject [31m:[m [01;34min[m [01;34mout[m Project_Record_Type'Class[31m;[mPath_Name [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mis[m
      
      Project_Vector [31m:[m Vector[31m;[m
      
      [01;34mprocedure[m [01;30mDir_Action[m[31m([mItem  [31m:[m        [32mString[m[31m;[m
			   Index [31m:[m        Positive[31m;[m
			   Quit  [31m:[m [01;34min[m [01;34mout[m [32mBoolean[m[31m)[m [01;34mis[m
	 
	 [01;34mpragma[m [01;30mUnreferenced[m [31m([mIndex[31m);[m
	 
	 Filename [31m:[m Name_type[31m;[m
      [01;34mbegin[m
	 
	 [01;34mif[m Item [31m/=[m [31m".\."[m [01;34mand[m Item [31m/=[m [31m".\.."[m [01;34mthen[m
	    [31m--Put_line(Item);[m
	    [01;30mMove[m[31m([mItem[31m,[m Filename[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
	    [01;30mappend[m[31m([mProject_Vector[31m,[m Filename[31m);[m
	    Quit [31m:=[m False[31m;[m
	 [01;34mend[m [01;34mif[m[31m;[m
      [01;34mend[m Dir_Action[31m;[m
      
      [01;34mprocedure[m Iterate [01;34mis[m [01;34mnew[m [01;30mWildcard_Iterator[m[31m([mDir_Action[31m);[m
      
      
   [01;34mbegin[m
      
      [31m--Put_Line("Library iterate : " & Path_Name);[m
      [01;30mIterate[m[31m([mPath_Name  [31m&[m [31m"*.ads"[m[31m);[m
      Sorting[31m.[m[01;30mSort[m[31m([mProject_Vector[31m);[m
      Project[31m.[mAws_Library[31m.[mUnit_Index [31m:=[m [35m0[m[31m;[m
      [01;34mfor[m I [01;34min[m [35m1[m[31m..[m[01;30mLength[m[31m([mProject_Vector[31m)[m [01;34mloop[m
	 [01;34mdeclare[m
	    Filename [31m:[m [01;34mconstant[m Name_type [31m:=[m [01;30mElement[m[31m([mProject_Vector[31m,[m [32mInteger[m[31m([mI[31m));[m
	 [01;34mbegin[m
      
	    [01;30mMove[m[31m([mFilename[31m,[m Project[31m.[mAws_Library[31m.[m[01;30mLibrary_Unit[m[31m([mProject[31m.[mAws_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m).[mFile_Name[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
	    
	    [01;30mMove[m[31m([m[01;30mBase_Name[m[31m([mFilename[31m),[m Project[31m.[mAws_Library[31m.[m[01;30mLibrary_Unit[m[31m([mProject[31m.[mAws_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m).[mUnit_Name[31m,[m Error[31m,[m Left[31m,[m [31m' '[m[31m);[m
	    
	    Project[31m.[mAws_Library[31m.[mUnit_Index [31m:=[m Project[31m.[mAws_Library[31m.[mUnit_Index [31m+[m [35m1[m[31m;[m
	 [01;34mend[m[31m;[m
      [01;34mend[m [01;34mloop[m[31m;[m
   [01;34mend[m Load_Aws[31m;[m
      
   
   [01;34mprocedure[m [01;30mLoad_Project[m[31m([mProject [31m:[m [01;34mout[m Project_Record_Type'Class[31m;[m
			  Path_Name [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mis[m
      Project_File [31m:[m [01;34mconstant[m [32mString[m [31m:=[m Path_Name [31m&[m [31m'/'[m [31m&[m Project_Default[31m;[m
      The_Project [31m:[m Gnose_Project_type[31m;[m
      File [31m:[m File_Type[31m;[m
   [01;34mbegin[m                  
                  
      Gnos[31m.[mEngineering[31m.[m[01;30minitialize[m[31m([m[01;30mData_Class[m[31m([mProject[31m),[m The_Project[31m);[m
      
      
      Project[31m.[mProj_Library[31m.[mUnit_Index [31m:=[m [35m0[m[31m;[m
      
      [01;34mif[m [01;34mnot[m [01;30mIs_Regular_File[m[31m([mProject_Default[31m)[m [01;34mthen[m
	 
	 [01;34mreturn[m[31m;[m
	 
      [01;34mend[m [01;34mif[m[31m;[m
      
      [01;30mPut_Line[m[31m([m[31m"Open : "[m [31m&[m Project_File[31m);[m
      
      [01;30mOpen[m[31m([mFile[31m,[m In_File[31m,[m Project_File[31m);[m      
      
      [01;34mdeclare[m
	 
	 Project_Name [31m:[m [01;34mconstant[m [32mString[m [31m:=[m [01;30mGet_Line[m[31m([mFile[31m);[m
	 Main_Line [31m:[m [01;34mconstant[m [32mString[m [31m:=[m [01;30mGet_Line[m[31m([mFile[31m);[m
      [01;34mbegin[m
	 [31m--Put_Line("Project name : " & Project_Name);[m
	 Project[31m.[mProject_Name [31m:=[m [01;34mnew[m [32mString[m ' [31m([m[01;30mBase_Name[m[31m(([m[01;30mProject_Name[m[31m([m[35m1[m[31m..[m[01;30mIndex_Non_Blank[m[31m([mProject_Name[31m,[m Backward[31m))),[m [31m".adb"[m[31m));[m
	 
	 [01;34mbegin[m
	    
	    [01;30mLoad_Project_Src[m[31m([mProject[31m,[m Path_Name [31m=>[m [31m([mPath_Name [31m&[m [31m'/'[m [31m&[m Project_Name [31m&[m [31m'/'[m [31m&[m Project_Name[31m));[m
	 [01;34mexception[m
	    [01;34mwhen[m [01;34mothers[m [31m=>[m
	       [01;34mnull[m[31m;[m
	 [01;34mend[m[31m;[m
	 
	 
	 [01;34mif[m [01;34mnot[m [01;30mEnd_Of_File[m[31m([mFile[31m)[m [01;34mthen[m
	    
	    [01;34mdeclare[m
	       
	       
	       Subunit_Name [31m:[m [01;34mconstant[m [32mString[m [31m:=[m [01;30mGet_Line[m[31m([mFile[31m);[m
	       
	    [01;34mbegin[m
	       
	       [01;34mif[m Subunit_Name'Length [31m/=[m [35m0[m [01;34mthen[m
		  [31m--Put_Line("Subunit name : " & Subunit_Name);[m
		  [01;30mLoad_Library[m[31m([mProject[31m,[m Path_Name [31m=>[m [31m([mPath_Name [31m&[m [31m'/'[m [31m&[m Project_Name [31m&[m [31m'/'[m [31m&[m Subunit_Name [31m&[m [31m"/src/lib/"[m[31m));[m
		  [31m--Put_Line("Subunit name : " & Subunit_Name & " loaded.");[m
	       [01;34mend[m [01;34mif[m[31m;[m
	    [01;34mexception[m
	       [01;34mwhen[m [01;34mothers[m [31m=>[m
		  [01;34mraise[m[31m;[m
	    [01;34mend[m[31m;[m
	    
	    [01;34mif[m Project[31m.[mProj_Library[31m.[mUnit_Index [31m>[m [35m1[m [01;34mthen[m
	       [01;34mdeclare[m
		  Prefix [31m:[m [32mstring[m [31m:=[m
		    [01;30mBase_Name[m[31m([mProject[31m.[mProj_Library[31m.[m[01;30mLibrary_Unit[m[31m([mProject[31m.[mProj_Library[31m.[mUnit_index[31m).[m[01;30mUnit_Name[m[31m([m[35m1[m[31m..[m[01;30mIndex_Non_Blank[m[31m([mProject[31m.[mProj_Library[31m.[m[01;30mLibrary_Unit[m[31m([mProject[31m.[mProj_Library[31m.[mUnit_index[31m).[mUnit_Name[31m,[m Backward[31m)),[m [31m".ads"[m[31m);[m
	       [01;34mbegin[m
		  
		  [31m--Text_Io.Put_Line("Prefix is : " & Prefix);[m
		  Project[31m.[mProject_Prefix [31m:=[m [01;34mnew[m [32mString[m ' [31m([mPrefix[31m);[m
	       [01;34mend[m[31m;[m
	    [01;34mend[m [01;34mif[m[31m;[m
	    
	    [01;34mwhile[m [01;34mnot[m [01;30mEnd_Of_File[m[31m([mFile[31m)[m [01;34mloop[m
	       [31m--Put_Line("file found...");[m
	       [01;34mdeclare[m
		  Subunit_Name [31m:[m [01;34mconstant[m [32mString[m [31m:=[m [01;30mGet_Line[m[31m([mFile[31m);[m
	       [01;34mbegin[m	       
		  
		  [01;34mif[m Subunit_Name'Length [31m/=[m [35m0[m [01;34mthen[m
		     [31m--Put_Line("Subunit name : " & Subunit_Name);[m
		     [01;30mLoad_Library[m[31m([mProject[31m,[m Path_Name [31m=>[m [31m([mPath_Name [31m&[m [31m'/'[m [31m&[m Project_Name [31m&[m [31m'/'[m [31m&[m Subunit_Name [31m&[m [31m"/src/lib/"[m[31m));[m
		     [31m--Put_Line("Subunit name : " & Subunit_Name & " loaded.");[m
		  [01;34mend[m [01;34mif[m[31m;[m
	       [01;34mexception[m
		  [01;34mwhen[m [01;34mothers[m [31m=>[m
		     [01;34mraise[m[31m;[m
	       [01;34mend[m[31m;[m
	    [01;34mend[m [01;34mloop[m[31m;[m
	 [01;34mend[m [01;34mif[m[31m;[m
      [01;34mend[m[31m;[m
      
      [01;30mClose[m[31m([mFile[31m);[m
      
      
      
   [01;34mend[m Load_Project[31m;[m
   
   
   [01;34mprocedure[m [01;30minitialize[m[31m([mProjects_Context [31m:[m [01;34min[m [01;34mout[m Projects_Context_Record'Class[31m;[m
			Projects_Params  [31m:[m [01;34min[m Projects_Parameters_Type[31m)[m [01;34mis[m
      
   [01;34mbegin[m
      Projects_Context[31m.[mProjects_Params [31m:=[m Projects_Params[31m;[m
   [01;34mend[m Initialize[31m;[m
   

   [01;34mfunction[m [01;30mCheck_Parameters[m[31m([mProjects_Context [31m:[m [01;34min[m Projects_Context_Record'Class[31m;[m
			     Params [31m:[m [01;34min[m Projects_Parameters_Type'class[31m)[m [01;34mreturn[m [32mBoolean[m [01;34mis[m
      
      Checked [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
      
   [01;34mbegin[m            
      Text_Io[31m.[m[01;30mPut[m[31m([m[31m"Projects Context :"[m[31m);[m      
      Checked [31m:=[m Projects_Context[31m.[mProjects_Params [31m=[m Parameters[31m.[m[01;30mProjects_Parameters_Type[m[31m([mParams[31m);[m
      [01;34mif[m [01;34mnot[m Checked [01;34mthen[m	 
	 Text_Io[31m.[mNew_Line[31m;[m
	 [01;34mif[m Projects_Context[31m.[mProjects_Params[31m.[mName_Length [31m/=[m [01;30mProjects_Parameters_Type[m[31m([mParams[31m).[mName_Length [01;34mthen[m
	    Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"Name_Length : "[m [31m&[m 
				    [32mInteger[m'[01;30mImage[m[31m([mProjects_Context[31m.[mProjects_Params[31m.[mName_Length[31m)[m [31m&[m [31m" /= "[m [31m&[m
				    [32mInteger[m'[01;30mImage[m[31m([m[01;30mProjects_Parameters_Type[m[31m([mParams[31m).[mName_Length[31m));[m
	 [01;34mend[m [01;34mif[m[31m;[m
	 [01;34mif[m Projects_Context[31m.[mProjects_Params[31m.[mUnit_Max [31m/=[m [01;30mProjects_Parameters_Type[m[31m([mParams[31m).[mUnit_Max [01;34mthen[m
	    Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"Unit_Max : "[m [31m&[m 
				    [32mInteger[m'[01;30mImage[m[31m([mProjects_Context[31m.[mProjects_Params[31m.[mUnit_Max[31m)[m [31m&[m [31m" /= "[m [31m&[m
				    [32mInteger[m'[01;30mImage[m[31m([m[01;30mProjects_Parameters_Type[m[31m([mParams[31m).[mUnit_Max[31m));[m	    
	 [01;34mend[m [01;34mif[m[31m;[m
	 [01;34mif[m Projects_Context[31m.[mProjects_Params[31m.[mWith_Gtk [31m/=[m [01;30mProjects_Parameters_Type[m[31m([mParams[31m).[mWith_Gtk [01;34mthen[m
	    Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"with Gtk : "[m [31m&[m 
			       [32mBoolean[m'[01;30mImage[m[31m([mProjects_Context[31m.[mProjects_Params[31m.[mWith_Gtk[31m)[m [31m&[m [31m" /= "[m [31m&[m
			       [32mBoolean[m'[01;30mImage[m[31m([m[01;30mProjects_Parameters_Type[m[31m([mParams[31m).[mWith_Gtk[31m));[m
	 [01;34mend[m [01;34mif[m[31m;[m
	 [01;34mif[m Projects_Context[31m.[mProjects_Params[31m.[mWith_Ada [31m/=[m [01;30mProjects_Parameters_Type[m[31m([mParams[31m).[mWith_Ada [01;34mthen[m
	    Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"With_Ada : "[m [31m&[m 
			       [32mBoolean[m'[01;30mImage[m[31m([mProjects_Context[31m.[mProjects_Params[31m.[mWith_Ada[31m)[m [31m&[m [31m" /= "[m [31m&[m
			       [32mBoolean[m'[01;30mImage[m[31m([m[01;30mProjects_Parameters_Type[m[31m([mParams[31m).[mWith_Ada[31m));[m	    
	 [01;34mend[m [01;34mif[m[31m;[m
	 [01;34mif[m Projects_Context[31m.[mProjects_Params[31m.[mWith_Aws [31m/=[m [01;30mProjects_Parameters_Type[m[31m([mParams[31m).[mWith_Aws [01;34mthen[m
	    Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"With_Aws : "[m [31m&[m 
			       [32mBoolean[m'[01;30mImage[m[31m([mProjects_Context[31m.[mProjects_Params[31m.[mWith_Aws[31m)[m [31m&[m [31m" /= "[m [31m&[m
			       [32mBoolean[m'[01;30mImage[m[31m([m[01;30mProjects_Parameters_Type[m[31m([mParams[31m).[mWith_Aws[31m));[m	    
	 [01;34mend[m [01;34mif[m[31m;[m
	 
	 [01;34mraise[m Program_Error[31m;[m
      [01;34mend[m [01;34mif[m[31m;[m
      Wide_Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"Ok !"[m[31m);[m
      [01;34mreturn[m Checked[31m;[m
   [01;34mend[m Check_Parameters[31m;[m
[01;34mend[m Gnos[31m.[mProjects[31m;[m
