[31m-- main is main file of main project written with Ada.[m
[31m-- Main is Copyright (C) 2025 Manuel De Girardi ; [m
[31m--[m
[31m--   This program is free software; you can redistribute it and/or modify[m
[31m--   it under the terms of the GNU General Public License as published by[m
[31m--   the Free Software Foundation; either version 2 of the License, or[m
[31m--   (at your option) any later version.[m
[31m--[m
[31m--   This program is distributed in the hope that it will be useful,[m
[31m--   but WITHOUT ANY WARRANTY; without even the implied warranty of[m
[31m--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the[m
[31m--   GNU General Public License for more details.[m
[31m--[m
[31m--   You should have received a copy of the GNU General Public License[m
[31m--   along with this program; if not, write to the Free Software[m
[31m--   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA[m
[31m--[m
[31m-- Date := 2025-07-25 08:23:49 ; [m
[31m-- Version := 0.4.0r ; [m
[01;34mwith[m Ada[31m.[mContainers[31m.[mVectors[31m;[m
[01;34muse[m Ada[31m.[mContainers[31m;[m
[01;34mwith[m M[31m.[mAnsi[31m.[mWindows[31m;[m
[01;34mwith[m Ada[31m.[mCalendar[31m;[m
[01;34muse[m Ada[31m.[mCalendar[31m;[m
[01;34mwith[m M[31m.[mStrings[31m;[m
[01;34muse[m M[31m.[mStrings[31m;[m
[01;34mwith[m Ada[31m.[mWide_Text_Io[31m;[m
[01;34mwith[m M[31m.[mAttributes[31m;[m
[01;34muse[m M[31m.[mAttributes[31m;[m
[01;34mgeneric[m
   [01;34mwith[m [01;34mpackage[m My_Windows [01;34mis[m [01;34mnew[m M[31m.[mAnsi[31m.[m[01;30mWindows[m [31m(<>);[m
[01;34mpackage[m M[31m.[mEngine [01;34mis[m
   
   [01;34muse[m My_Windows[31m;[m
   
   [01;34mpackage[m W_Io [01;34mrenames[m Ada[31m.[mWide_Text_Io[31m;[m
   
   [01;34mtype[m Element_Index [01;34mis[m [01;34mnew[m Positive[31m;[m
   
   [01;34mtype[m [01;30mElement_Class[m[31m([mTag [31m:[m Element_Enum[31m);[m
   
   [01;34mtype[m Element_Access [01;34mis[m [01;34maccess[m [01;34mall[m Element_Class'Class[31m;[m
   
   [01;34mprocedure[m [01;30mObj_Free[m[31m([mO [31m:[m [01;34min[m [01;34mout[m Element_Access[31m);[m
   
   
   [01;34mfunction[m [01;30mSame[m [31m([mLeft[31m,[m Right [31m:[m [01;34min[m Element_Access[31m)[m [01;34mreturn[m [32mBoolean[m[31m;[m
   [01;34mpackage[m Element_Vectors [01;34mis[m [01;34mnew[m [01;30mVectors[m [31m([mElement_Index[31m,[m Element_Access[31m,[m Same[31m);[m
   
   [01;34mtype[m [01;30mElement_Info[m[31m([mTag [31m:[m Element_Enum[31m)[m [01;34mis[m
      [01;34mrecord[m
	 Index   [31m:[m Element_Index [31m:=[m [35m1[m[31m;[m
	 Name    [31m:[m Wide_String_Access[31m;[m
	 Created [31m:[m Time [31m:=[m [01;30mTime_Of[m[31m([m[35m1970[m[31m,[m [35m1[m[31m,[m [35m1[m[31m,[m [35m0.0[m[31m);[m
	 Childs_Num [31m:[m Natural [31m:=[m [35m0[m[31m;[m
      [01;34mend[m [01;34mrecord[m[31m;[m
   
   [01;34mtype[m Wide_Set_Access [01;34mis[m [01;34maccess[m [01;34mall[m Wide_String_Set[31m;[m
   
   [01;34mtype[m [01;30mElement_Class[m[31m([mTag [31m:[m Element_Enum[31m)[m [01;34mis[m [01;34mabstract[m [01;34mtagged[m
      [01;34mrecord[m
	 
	 Info [31m:[m [01;30mElement_Info[m[31m([mTag[31m);[m
	 
	 Childs  [31m:[m Element_Vectors[31m.[mVector[31m;[m
	 
	 Definition [31m:[m [01;30mAttributs[m[31m([m[35m10[m[31m);[m
	 [01;34mcase[m Tag [01;34mis[m
	    [01;34mwhen[m None [31m=>[m
	       [01;34mnull[m[31m;[m
	    [01;34mwhen[m License [31m=>[m
	       License [31m:[m Wide_Set_Access[31m;[m
	    [01;34mwhen[m [01;34mothers[m [31m=>[m
	       Line [31m:[m Wide_String_Access[31m;[m
	 [01;34mend[m [01;34mcase[m[31m;[m
      [01;34mend[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mInfo [31m:[m Element_Info[31m;[m header [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m Element_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m)[m [01;34mis[m [01;34mabstract[m[31m;[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m Element_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m)[m [01;34mis[m [01;34mabstract[m[31m;[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m Element_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m)[m [01;34mis[m [01;34mabstract[m[31m;[m

   
   [01;34mprocedure[m [01;30mPrint[m [31m([mAttr [31m:[m [01;34min[m Attributs[31m;[m Win [31m:[m [01;34min[m Window_type[31m);[m
   
   [01;34mtype[m None_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mNone[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m None_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m None_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m None_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
   [01;34mtype[m Program_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mProgram[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m Program_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m Program_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m Program_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m

   
   [01;34mtype[m Description_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mDescription[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m Description_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m Description_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m Description_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
   [01;34mtype[m License_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mLicense[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m License_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m License_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m License_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
   
   
   
   [01;34mtype[m Main_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mMain[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m Main_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m Main_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m Main_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
   
   
   
   
   [01;34mtype[m Library_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mLibrary[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m Library_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m Library_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m Library_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
   
   
   [01;34mtype[m Axiomatic_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mAxiomatic[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m Axiomatic_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m Axiomatic_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m Axiomatic_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
   
   [01;34mtype[m Axiom_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mAxiom[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m Axiom_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m Axiom_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m Axiom_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
   
   [01;34mtype[m Predicate_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mPredicate[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m Predicate_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m Predicate_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m Predicate_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
   [01;34mtype[m Precondition_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mPrecondition[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m Precondition_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m Precondition_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m Precondition_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
   [01;34mtype[m Condition_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mCondition[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m Condition_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m Condition_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m Condition_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
   [01;34mtype[m Component_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mComponent[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m Component_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m Component_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m Component_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
   [01;34mtype[m Action_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mAction[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m Action_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m Action_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m Action_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
   [01;34mtype[m Class_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mClass[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m Class_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m Class_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m Class_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
   [01;34mtype[m Machine_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mClass[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m Machine_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m Machine_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m Machine_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
   [01;34mtype[m System_Class [01;34mis[m [01;34mnew[m [01;30mElement_Class[m[31m([mClass[31m)[m [01;34mwith[m [01;34mnull[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mPrint[m [31m([mObj    [31m:[m [01;34min[m System_Class[31m;[m
		    Header [31m:[m [01;34min[m Window_Type[31m;[m
		    Win [31m:[m [01;34min[m Window_Type[31m);[m
   
   [01;34mprocedure[m [01;30mWrite[m [31m([mO [31m:[m [01;34min[m System_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   [01;34mprocedure[m [01;30mRead[m [31m([mO [31m:[m [01;34mout[m System_Class[31m;[mFile [31m:[m [01;34min[m W_Io[31m.[mFile_Type[31m);[m
   
[01;34mend[m M[31m.[mEngine [31m;[m 
