TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
"Team Ada: Ada Advocacy Issues (83 & 95)" <[log in to unmask]>
"David J.A. Koogler" <[log in to unmask]>
Mon, 25 Nov 1996 11:19:31 -0800
Boolean Solutions, Ltd.
text/plain (42 lines)
W. Wesley Groleau (Wes) wrote:

>> someone here attempted that with gnat.
>> the runtime did not fit on his 128k 68k board.
>> it barely fits in 256k, and big as it is, it still doesn't do
>> what he wanted it to do, in interrupt handling.
>> obviously he stripped out as much crud as he could.
>> it is not straightforward to strip it down, not least because it is
>> very big and very complicated.  since i've written a reasonably lean
>> ada run-time implementation for ada83, it's hard for me to imagine
>> why this one is as big as it is.
>> if Ada95 really requires this much, you can pretty much forget it as
>> a language for embedded systems controllers, at least where gnat is
>> concerned.
> Well, at least we have some evidence instead of just predictions!

While I agree that the runtime is large, it really is well crafted and
very straight forward. Of course, there is a lot of material to digest.

The simplest experiment to try is to write a null application, compile
it and see what object modules get linked (use the -v option with
gnatbld to see the set of Ada routines).  Besides the Ada routines,
are several C routines from libgnat as well as some assembly/C routines
from libgcc. Given this list, I just walked through the source tree and
read the comments. The code is certainly much easier to understand than
most systems I am paid to deal with!

Beware of Ada.Text_IO. It is a massive package and does pull in lots of
other packages.  If you write a simple "Hello World", I recommend using
Gnat.Io instead.  It is simple implementation of C stdio and does not
use other packages.

I have had a great deal of success in understanding the run time system,
decoding it step by step.  I have been able to create Ada applications
with only a few kilobytes of runtime library (and I can even reduce that
but cutting out unused routines).

David Koogler
Boolean Solutions, Ltd.