[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-06-04 18:32:28"[m
[31m-- Version := "0.0.0r"[m
[01;34mwith[m Gnat[31m.[mOs_Lib[31m;[m
[01;34muse[m Gnat[31m.[mOs_Lib[31m;[m   
[01;34mwith[m Ada[31m.[mCalendar[31m;[m
[01;34muse[m Ada[31m.[mCalendar[31m;[m

[01;34mpackage[m M[31m.[mAttributes [01;34mis[m
   [01;34mtype[m All_Types [01;34mis[m [01;34mtagged[m
	 [01;34mrecord[m
	    Boo  [31m:[m [32mBoolean[m[31m;[m
	    Int  [31m:[m [32mInteger[m[31m;[m
	    Flt  [31m:[m [32mFloat[m[31m;[m	    
	    Date [31m:[m Time [31m:=[m Clock[31m;[m
	    Str  [31m:[m String_Access[31m;[m	    
	 [01;34mend[m [01;34mrecord[m[31m;[m
      
      [01;34mtype[m attribut_Enum [01;34mis[m [31m([mNil[31m,[m Boo[31m,[m Int[31m,[m Flt[31m,[m Date[31m,[m Str[31m);[m
      
      [01;34mtype[m Attribut_Record [01;34mis[m [01;34mnew[m All_Types [01;34mwith[m
	 [01;34mrecord[m
	    name  [31m:[m String_Access[31m;[m
	    Value [31m:[m String_Access[31m;[m
	    Enum  [31m:[m Attribut_Enum[31m;[m
	 [01;34mend[m [01;34mrecord[m[31m;[m            
      
      
      
      [01;34mtype[m Attribut_Array [01;34mis[m [01;34marray[m [31m([mPositive [01;34mrange[m [31m<>)[m [01;34mof[m Attribut_Record[31m;[m
      
      [01;34mtype[m [01;30mAttributs[m [31m([mMax [31m:[m Positive[31m)[m [01;34mis[m
	 [01;34mrecord[m
	    List [31m:[m [01;30mAttribut_Array[m[31m([m[35m1[m[31m..[mMax[31m);[m
	    Index [31m:[m Natural [31m:=[m [35m0[m[31m;[m
	 [01;34mend[m [01;34mrecord[m[31m;[m

      [01;34mprocedure[m [01;30mParse[m [31m([mLine [31m:[m [01;34min[m [32mString[m[31m;[m Name [31m:[m [01;34mout[m String_Access[31m;[m Image [31m:[m [01;34mout[m String_Access[31m);[m
      
      [01;34mfunction[m [01;30mMake[m [31m([mNames [31m:[m [01;34min[m [32mString[m[31m;[m Value [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mreturn[m Attribut_Record[31m;[m
      [01;34mfunction[m [01;30mnames[m [31m([mAtt [31m:[m [01;34min[m Attribut_Record[31m)[m [01;34mreturn[m [32mString[m[31m;[m
      [01;34mfunction[m [01;30mimages[m [31m([mAtt [31m:[m [01;34min[m Attribut_Record[31m)[m [01;34mreturn[m [32mString[m[31m;[m

[01;34mend[m M[31m.[mAttributes [31m;[m 
