comp.lang.ada
 help / color / mirror / Atom feed
From: "David C. Hoos, Sr." <david.c.hoos.sr@ada95.com>
To: <And838N@netscape.net>, <comp.lang.ada@ada.eu.org>
Subject: Re: Visibility and Elaboration
Date: Mon, 9 Jun 2003 06:35:41 -0500
Date: 2003-06-09T06:35:41-05:00	[thread overview]
Message-ID: <mailman.14.1055158580.1173.comp.lang.ada@ada.eu.org> (raw)
In-Reply-To: 7BD8CDF4.671052CE.0015D3EC@netscape.net


----- Original Message ----- 
From: <And838N@netscape.net>
To: <comp.lang.ada@ada.eu.org>
Sent: June 09, 2003 5:47 AM
Subject: Visibility and Elaboration


> David C. Hoos, Sr. wrote:
> >If you look at your original post (on June 4), there was no "put_line"
> >statement -- hence, the reason for my question
> Ok, your right, there was no put_line statement.  There was only the
> "put" statement.  The compiler would still have complained.

The compiler did _not_ complain when the unneeded "with" of Ada.Text_IO
was removed.

> 
> >GNAT did _not_ tell you it didn't know which one to use.
> Ok, that must be why I wrote "Thus, GNAT's compiler message tells me 
> not that GNAT can't determine which count to use but that I need to 
> specify, for future readers, which count I needed."
> 
> >Using the GNAT compiler, the object file resulting from the
> >compilation of your package would contain a procedure named 
> >my_pkg___elabs. That procedure contains the elaboration code for your 
> >package specification.
> Cool!  I'm going to check that out.  Thank you.
> 
> >Elaboration is nothing at all like the instantiation of a C++ class.
> Ok, elaboration is like the "preparation" of something declared static 
> in C++ or Java? So your saying that all the elaborations in the 
> following code happen before the main procedure is called?
The only elaborations resulting from the following code are from the
Ada standard libraries, viz:
ada__exceptions_E
system__exception_table_E
ada__io_exceptions_E
system__exceptions_E
system__secondary_stack_E
ada__tags_E
ada__streams_E
system__soft_links_E
system__finalization_root_E
system__finalization_implementation_E
ada__finalization_E
ada__finalization__list_controller_E
system__file_control_block_E
system__file_io_E
ada__text_io_E
Yes, they are all performed before exection of the main program.

Build you main program with the command gnatmake -g newelaboration
and look at the file b~newelaboration.adb generated by that process.
> 
> with
> ada.text_io,
> ada.integer_text_io;
> 
> use
> ada.text_io,
> ada.integer_text_io;
> 
> procedure newelaboration is
> 
>     procedure doelaboration(i: integer) is
>         package elo is
>             value: Integer;
>             procedure printvalue;
>         end elo;
> 
>         package body elo is
>             procedure printvalue is
>             begin
>                 put(value);
>             end printvalue;
>         end elo;
>     
>     begin
>         if i < 10 then
>             elo.value := i;
>             doelaboration(i+1);
>             elo.printvalue;
>         end if;
>     end doelaboration;
> 
> begin
> 
> doelaboration(1);
> 
> end newelaboration;
> 
> So using the "new" reserved word is different than an elaboration?
Yes.
> 
> Thanks for the help!
> 
> Andrew
> 
> 
> __________________________________________________________________
> McAfee VirusScan Online from the Netscape Network.
> Comprehensive protection for your entire computer. Get your free trial today!
> http://channels.netscape.com/ns/computing/mcafee/index.jsp?promo=393397
> 
> Get AOL Instant Messenger 5.1 free of charge.  Download Now!
> http://aim.aol.com/aimnew/Aim/register.adp?promo=380455
> _______________________________________________
> comp.lang.ada mailing list
> comp.lang.ada@ada.eu.org
> http://ada.eu.org/mailman/listinfo/comp.lang.ada
> 
> 




       reply	other threads:[~2003-06-09 11:35 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <7BD8CDF4.671052CE.0015D3EC@netscape.net>
2003-06-09 11:35 ` David C. Hoos, Sr. [this message]
2003-06-09 18:14   ` Visibility and Elaboration Robert I. Eachus
2003-06-09 18:29     ` tmoran
2003-06-11  6:50       ` Robert I. Eachus
2003-06-11  7:49         ` tmoran
2003-06-11 21:11           ` Robert I. Eachus
2003-06-11 10:40 And838N
  -- strict thread matches above, loose matches on Subject: below --
2003-06-10  8:33 And838N
2003-06-09 10:47 And838N
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox