package Date is -- Simple types for date class attributes and operations ----------------------------------------------------------------------------- type Month_Type is (January,enero, February, March, April,avril, May,mai, June, July, August, September, October, November, December); type Year_Type is range 1583..Integer'Last; type Day_Type is range 1..31; ----------------------------------------------------------------------------- type Date_Type is tagged private; -- The type for the date class -- operations for date objects ----------------------------------------------------------------------------- function Construct_Date (Month : in Month_Type; Day : in Day_Type; Year : in Year_Type) return Date_Type; -- Convert three values to a single date function Year_Is (Date : in Date_Type) return Year_Type; -- Return the year value of this date function Month_Is (Date : in Date_Type) return Month_Type; -- Return the month value of this date function Day_Is (Date : in Date_Type) return Day_Type; -- Return the day value of this date private type Date_Type is tagged record Year : Year_Type; Month : Month_Type; Day : Day_Type; end record; end Date;