http://www.adaconcept.com/programs/orokles/csomag.adb
with Ada.Text_IO;

package body Csomag is


   package body Csak_A_Hoz_Tartozo_Inicializalo_Fuggvenyek is


      function A_Inicializalo_Fuggveny return A is
      begin
         Ada.Text_IO.Put_Line("Csak A -hoz tartozo inicializalo fuggveny");
         return (Ada.Finalization.Controlled with I => 5);
      end A_Inicializalo_Fuggveny;


   end Csak_A_Hoz_Tartozo_Inicializalo_Fuggvenyek;


   function Inicializalo_Fuggveny return A is
   begin
      Ada.Text_IO.Put_Line("Inicializalo fuggveny: A");
      return (Ada.Finalization.Controlled with I => 5);
   end Inicializalo_Fuggveny;


   procedure Initialize(Object : in out A) is
   begin
      Ada.Text_IO.Put_Line("Konstruktor: A");
   end Initialize;



   function Inicializalo_Fuggveny return B is
   begin
      Ada.Text_IO.Put_Line("Inicializalo fuggveny: B");
      return (Ada.Finalization.Controlled with I => 5 , J => 5);
   end Inicializalo_Fuggveny;


   procedure Initialize(Object : in out B) is
   begin
      Ada.Text_IO.Put_Line("Konstruktor: B");
   end Initialize;


   procedure Adjust (Object : in out B) is
   begin
      Ada.Text_IO.Put_Line("Ertekadas B -nek (pontosabban ez az atmasolas utan vegrehajtodo ""rendbetevo muvelet"")");  -- igy lehet " karaktert irni
   end Adjust;


   -- ---------------------------------


   procedure m(a : r1; b : r2) is
   begin
      Ada.Text_IO.Put_Line("m meghivva");
   end m;


   package body P is

      procedure m(a : r1; b : r2) is
      begin
         null;
      end m;

   end P;


   procedure f(k:Boolean;a:r1) is
   begin
      null;
   end;


end Csomag;