[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-11-27 12:44:49 ; [m
[31m-- Description : Ada Generic Neural Object System Engineering.                                                                                              --[m
[31m-- Authors     : Manuel De Girardi.                                                                                                                         --[m
[31m-- Version     := 2016.10.1a ; [m
[31m-- Authors     : Manuel De Girardi.                                                                                                                         --[m
[31m--------------------------------------------------------------------------------------------------------------------------------------------------------------[m


[01;34mwith[m Gnat[31m.[mOs_Lib[31m;[m
[01;34mwith[m Gnat[31m.[mDirectory_Operations[31m;[m
[01;34muse[m Gnat[31m;[m
[01;34mwith[m Ada[31m.[mText_Io[31m;[m
[01;34muse[m Ada[31m;[m
[01;34mwith[m Ada[31m.[mCalendar[31m;[m
[01;34mwith[m Ada[31m.[mCalendar[31m.[mFormatting[31m;[m
[01;34muse[m Ada[31m.[mCalendar[31m.[mFormatting[31m;[m
[01;34mwith[m Ada[31m.[mDirectories[31m;[m
[01;34mwith[m Ada[31m.[mStrings[31m.[mUnbounded[31m;[m
[01;34muse[m Ada[31m.[mStrings[31m.[mUnbounded[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 Ada[31m.[mStrings[31m.[mFixed[31m;[m
[01;34muse[m Ada[31m.[mStrings[31m;[m
[01;34mwith[m Gnat[31m.[mStrings[31m;[m
[01;34muse[m Gnat[31m.[mStrings[31m;[m


[01;34mwith[m Gnos[31m.[mTools[31m;[m
[01;34mpackage[m [01;34mbody[m Gnos[31m.[mVersions[31m.[mEditting [01;34mis[m
   
   [01;34mprocedure[m [01;30mupdate[m [31m([mFilename [31m:[m [01;34min[m [32mString[m[31m;[m Var_Name [31m:[m [01;34min[m [32mString[m[31m;[m Value [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mis[m
      Source [31m:[m Text_Io[31m.[mFile_Type[31m;[m
      Target [31m:[m Text_Io[31m.[mFile_Type[31m;[m
      
      Tmp_Filename [31m:[m [01;34mconstant[m [32mString[m [31m:=[m Filename [31m&[m [31m".tmp"[m[31m;[m
      Done [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
   [01;34mbegin[m      
      Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"Change value of "[m [31m&[m Var_Name [31m&[m [31m" to "[m [31m&[m Value [31m&[m [31m" in "[m [31m&[m filename [31m&[m [31m" ; "[m[31m);[m

      [01;34mif[m Os_Lib[31m.[m[01;30mIs_Regular_File[m[31m([mFilename[31m)[m [01;34mthen[m
	 Text_Io[31m.[m[01;30mCreate[m[31m([mTarget[31m,[m Text_Io[31m.[mOut_File[31m,[m Tmp_Filename[31m);[m
	 Text_Io[31m.[m[01;30mOpen[m[31m([mSource[31m,[m Text_Io[31m.[mIn_File[31m,[m Filename[31m);[m
	 [01;34mwhile[m [01;34mnot[m Text_Io[31m.[m[01;30mEnd_Of_File[m[31m([mSource[31m)[m [01;34mloop[m
	    [01;34mdeclare[m
	       Line [31m:[m [01;34mconstant[m [32mString[m [31m:=[m Text_Io[31m.[m[01;30mGet_Line[m[31m([mSource[31m);[m
	    [01;34mbegin[m
	       [01;34mif[m [01;34mnot[m Done [01;34mthen[m
		  [01;34mif[m Fixed[31m.[m[01;30mIndex[m[31m([mLine[31m,[m Var_Name[31m)[m [31m/=[m [35m0[m [01;34mthen[m
		     
		     Text_Io[31m.[m[01;30mPut_Line[m[31m([mTarget[31m,[m [01;30mLine[m[31m([mLine'First[31m..[mFixed[31m.[m[01;30mIndex[m[31m([mLine[31m,[m [31m"="[m[31m)+[m[35m1[m[31m)[m [31m&[m Value [31m&[m [31m" ; "[m[31m);[m	       
		     Done [31m:=[m True[31m;[m
		  [01;34melse[m
		     Text_Io[31m.[m[01;30mPut_Line[m[31m([mTarget[31m,[m Line[31m);[m
		  [01;34mend[m [01;34mif[m[31m;[m		  
	       [01;34melse[m
		  Text_Io[31m.[m[01;30mPut_Line[m[31m([mTarget[31m,[m Line[31m);[m
	       [01;34mend[m [01;34mif[m[31m;[m
	    [01;34mend[m[31m;[m
	 [01;34mend[m [01;34mloop[m[31m;[m
	 Text_Io[31m.[m[01;30mClose[m[31m([mTarget[31m);[m
	 Text_Io[31m.[m[01;30mdelete[m[31m([mSource[31m);[m      
	 directories[31m.[m[01;30mRename[m[31m([mTmp_Filename[31m,[m Filename[31m);[m
      [01;34mend[m [01;34mif[m[31m;[m
   [01;34mend[m Update[31m;[m
   
   [01;34mprocedure[m [01;30mReplace_Description[m [31m([mProject_Name [31m:[m [01;34min[m [32mString[m[31m;[m Project_Prefix [31m:[m [01;34min[m [32mString[m[31m;[m Var_Name [31m:[m [01;34min[m [32mString[m[31m;[m Value [31m:[m [01;34min[m [32mString[m[31m;[m Node [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mis[m
      Filename [31m:[m [01;34mconstant[m [32mString[m [31m:=[m Project_Name [31m&[m [31m'/'[m [31m&[m Project_Prefix [31m&[m [31m"-"[m [31m&[m Node [31m&[m [31m"/src/lib/"[m [31m&[m [01;30mTo_Lower[m[31m([mProject_Prefix[31m)[m [31m&[m [31m'-'[m [31m&[m [01;30mTo_Lower[m[31m([mNode[31m)[m [31m&[m [31m".ads"[m[31m;[m
      
      Source [31m:[m Text_Io[31m.[mFile_Type[31m;[m
      Target [31m:[m Text_Io[31m.[mFile_Type[31m;[m
      
      Tmp_Filename [31m:[m [01;34mconstant[m [32mString[m [31m:=[m Filename [31m&[m [31m".tmp"[m[31m;[m
      Done [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
   [01;34mbegin[m      
      Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"Change value of "[m [31m&[m Var_Name [31m&[m [31m" to "[m [31m&[m Value [31m&[m [31m" in "[m [31m&[m Node [31m&[m [31m" ; "[m[31m);[m
      Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"with filename : "[m [31m&[m Filename[31m);[m
      [01;34mif[m Os_Lib[31m.[m[01;30mIs_Regular_File[m[31m([mFilename[31m)[m [01;34mthen[m
	 Text_Io[31m.[m[01;30mCreate[m[31m([mTarget[31m,[m Text_Io[31m.[mOut_File[31m,[m Tmp_Filename[31m);[m
	 Text_Io[31m.[m[01;30mOpen[m[31m([mSource[31m,[m Text_Io[31m.[mIn_File[31m,[m Filename[31m);[m
	 [01;34mwhile[m [01;34mnot[m Text_Io[31m.[m[01;30mEnd_Of_File[m[31m([mSource[31m)[m [01;34mloop[m
	    [01;34mdeclare[m
	       Line [31m:[m [01;34mconstant[m [32mString[m [31m:=[m Text_Io[31m.[m[01;30mGet_Line[m[31m([mSource[31m);[m
	    [01;34mbegin[m
	       [01;34mif[m [01;34mnot[m Done [01;34mthen[m
		  [01;34mif[m Fixed[31m.[m[01;30mIndex[m[31m([mLine[31m,[m Var_Name[31m)[m [31m/=[m [35m0[m [01;34mthen[m
		     
		     Text_Io[31m.[m[01;30mPut_Line[m[31m([mTarget[31m,[m [01;30mLine[m[31m([mLine'First[31m..[mFixed[31m.[m[01;30mIndex[m[31m([mLine[31m,[m [31m"="[m[31m)+[m[35m1[m[31m)[m [31m&[m Value [31m&[m [31m" ; "[m[31m);[m	       
		     Done [31m:=[m True[31m;[m
		  [01;34melse[m
		     Text_Io[31m.[m[01;30mPut_Line[m[31m([mTarget[31m,[m Line[31m);[m
		  [01;34mend[m [01;34mif[m[31m;[m		  
	       [01;34melse[m
		  Text_Io[31m.[m[01;30mPut_Line[m[31m([mTarget[31m,[m Line[31m);[m
	       [01;34mend[m [01;34mif[m[31m;[m
	    [01;34mend[m[31m;[m
	 [01;34mend[m [01;34mloop[m[31m;[m
	 Text_Io[31m.[m[01;30mClose[m[31m([mTarget[31m);[m
	 Text_Io[31m.[m[01;30mdelete[m[31m([mSource[31m);[m      
	 directories[31m.[m[01;30mRename[m[31m([mTmp_Filename[31m,[m Filename[31m);[m
      [01;34mend[m [01;34mif[m[31m;[m
   [01;34mend[m Replace_Description[31m;[m
   
   
   [01;34mprocedure[m [01;30mMain_Description[m [31m([mProject_Name [31m:[m [01;34min[m [32mString[m[31m;[m Project_Prefix [31m:[m [01;34min[m [32mString[m[31m;[m Var_Name [31m:[m [01;34min[m [32mString[m[31m;[m Value [31m:[m [01;34min[m [32mString[m[31m;[m Node [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mis[m
      Filename [31m:[m [01;34mconstant[m [32mString[m [31m:=[m Project_Name [31m&[m [31m'/'[m [31m&[m Project_Prefix [31m&[m Node [31m&[m [31m"/src/"[m [31m&[m Project_Name [31m&[m [31m".adb"[m[31m;[m
      Source [31m:[m Text_Io[31m.[mFile_Type[31m;[m
      Target [31m:[m Text_Io[31m.[mFile_Type[31m;[m
      
      Tmp_Filename [31m:[m [01;34mconstant[m [32mString[m [31m:=[m Filename [31m&[m [31m".tmp"[m[31m;[m
      Done [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
   [01;34mbegin[m      
      Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"Change value of "[m [31m&[m Var_Name [31m&[m [31m" to "[m [31m&[m Value [31m&[m [31m" in "[m [31m&[m Node [31m&[m [31m" ; "[m[31m);[m
      Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"with filename : "[m [31m&[m Filename[31m);[m
      [01;34mif[m Os_Lib[31m.[m[01;30mIs_Regular_File[m[31m([mFilename[31m)[m [01;34mthen[m
	 Text_Io[31m.[m[01;30mCreate[m[31m([mTarget[31m,[m Text_Io[31m.[mOut_File[31m,[m Tmp_Filename[31m);[m
	 Text_Io[31m.[m[01;30mOpen[m[31m([mSource[31m,[m Text_Io[31m.[mIn_File[31m,[m Filename[31m);[m
	 [01;34mwhile[m [01;34mnot[m Text_Io[31m.[m[01;30mEnd_Of_File[m[31m([mSource[31m)[m [01;34mloop[m
	    [01;34mdeclare[m
	       Line [31m:[m [01;34mconstant[m [32mString[m [31m:=[m Text_Io[31m.[m[01;30mGet_Line[m[31m([mSource[31m);[m
	    [01;34mbegin[m
	       [01;34mif[m [01;34mnot[m Done [01;34mthen[m
		  [01;34mif[m Fixed[31m.[m[01;30mIndex[m[31m([mLine[31m,[m Var_Name[31m)[m [31m/=[m [35m0[m [01;34mthen[m
		     
		     Text_Io[31m.[m[01;30mPut_Line[m[31m([mTarget[31m,[m [01;30mLine[m[31m([mLine'First[31m..[mFixed[31m.[m[01;30mIndex[m[31m([mLine[31m,[m [31m"="[m[31m)+[m[35m1[m[31m)[m [31m&[m Value [31m&[m [31m" ; "[m[31m);[m	       
		     Done [31m:=[m True[31m;[m
		  [01;34melse[m
		     Text_Io[31m.[m[01;30mPut_Line[m[31m([mTarget[31m,[m Line[31m);[m
		  [01;34mend[m [01;34mif[m[31m;[m		  
	       [01;34melse[m
		  Text_Io[31m.[m[01;30mPut_Line[m[31m([mTarget[31m,[m Line[31m);[m
	       [01;34mend[m [01;34mif[m[31m;[m
	    [01;34mend[m[31m;[m
	 [01;34mend[m [01;34mloop[m[31m;[m
	 Text_Io[31m.[m[01;30mClose[m[31m([mTarget[31m);[m
	 Text_Io[31m.[m[01;30mdelete[m[31m([mSource[31m);[m      
	 directories[31m.[m[01;30mRename[m[31m([mTmp_Filename[31m,[m Filename[31m);[m
      [01;34mend[m [01;34mif[m[31m;[m
   [01;34mend[m Main_Description[31m;[m

   
   [01;34mprocedure[m [01;30mTo_Major[m[31m([mProject_Name [31m:[m [01;34min[m [32mString[m[31m;[m Project_Prefix [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mis[m
   [01;34mbegin[m
      [01;30mReplace_Description[m [31m([mProject_Name[31m,[m Project_Prefix[31m,[m [31m"Current_Major"[m[31m,[m Tools[31m.[m[01;30mInteger_Image[m[31m([mVersion[31m.[mMajor_Version[31m),[m [31m"versions"[m[31m);[m
   [01;34mend[m To_Major[31m;[m
   
   [01;34mprocedure[m [01;30mTo_Minor[m[31m([mProject_Name [31m:[m [01;34min[m [32mString[m[31m;[m Project_Prefix [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mis[m
   [01;34mbegin[m
      [01;30mReplace_Description[m [31m([mProject_Name[31m,[m Project_Prefix[31m,[m [31m"Current_Minor"[m[31m,[m Tools[31m.[m[01;30mInteger_Image[m[31m([mVersion[31m.[mMinor_Version[31m),[m [31m"versions"[m[31m);[m
   [01;34mend[m To_Minor[31m;[m
   
   [01;34mprocedure[m [01;30mTo_Revision[m[31m([mProject_Name [31m:[m [01;34min[m [32mString[m[31m;[m Project_Prefix [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mis[m
   [01;34mbegin[m
      [01;30mReplace_Description[m [31m([mProject_Name[31m,[m Project_Prefix[31m,[m [31m"Current_Revision"[m[31m,[m Tools[31m.[m[01;30mInteger_Image[m[31m([mVersion[31m.[mRevision_Version[31m),[m [31m"versions"[m[31m);[m
   [01;34mend[m To_Revision[31m;[m
   
   [01;34mprocedure[m [01;30mTo_Release[m[31m([mProject_Name [31m:[m [01;34min[m [32mString[m[31m;[m Project_Prefix [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mis[m
   [01;34mbegin[m
      [01;30mReplace_Description[m [31m([mProject_Name[31m,[m Project_Prefix[31m,[m [31m"Current_Release"[m[31m,[m [32mCharacter[m'[01;30mimage[m[31m([mVersion[31m.[mRelease_Version[31m),[m [31m"versions"[m[31m);[m
   [01;34mend[m To_Release[31m;[m
       
[01;34mend[m Gnos[31m.[mVersions[31m.[mEditting[31m;[m
