comp.lang.ada
 help / color / mirror / Atom feed
From: stt@houdini.camb.inmet.com (Tucker Taft)
Subject: Re: Source files organisation using gnat
Date: 1997/07/07
Date: 1997-07-07T00:00:00+00:00	[thread overview]
Message-ID: <ECysL6.Hz9.0.-s@inmet.camb.inmet.com> (raw)
In-Reply-To: 5podbt$sn8$1@gonzo.sun3.iaf.nl


Geert Bosch (geert@gonzo.sun3.iaf.nl) wrote:

: ...
: So what might be useful is to have some kind of compilation server
: that can keep state between compilations and re-use internal datastructures
: like parse trees. Of course in that case you may have to worry about
: memory management and for example restart the server periodically.

A feature of the AdaMagic(tm) front end is that it can compile multiple
Ada source files in a single execution (and each source file may contain
multiple compilation units, if you wish), while retaining (in an LRU cache)
information from "with"ed library units.  This means that when you
recompile the world, the rate of compilation actually increases the
more files that are compiled at one time.  There is a "build" tool
which drives the compiler in this mode, or you can simply type
something like "adacomp *.ada" and reap the benefits.

You could also configure the front end as a server, by building a driver
that receives file names as messages, and compiles them without
restarting.  The LRU cache would keep the memory footprint from 
exploding.  Some of our licensees have considered this, but it
turns out that the compiler is fast enough that this added complexity
hasn't turned out to be worth the effort yet.

In fact, it seems that most people use the compiler in a 
"compile one source file" mode or "compile the world" mode.  Compiling
one source file is quite fast, and compiling the world in a single
execution of the compiler is also fast due to the caching, so there 
doesn't seem to be much demand for a "server" configuration.

: Regards,
:    Geert

--
-Tucker Taft   stt@inmet.com   http://www.inmet.com/~stt/
Intermetrics, Inc.  Burlington, MA  USA




  reply	other threads:[~1997-07-07  0:00 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-06-30  0:00 Source files organisation using gnat Laurentau
1997-06-30  0:00 ` Robert Dewar
1997-06-30  0:00 ` Robert Dewar
1997-07-01  0:00   ` Samuel T. Harris
1997-07-04  0:00     ` Robert Dewar
1997-07-05  0:00       ` Michael Feldman
1997-07-03  0:00   ` Steve Doiel
1997-07-04  0:00     ` Robert Dewar
1997-07-04  0:00       ` Michel Gauthier
1997-07-04  0:00         ` Robert Dewar
1997-07-03  0:00   ` David Haslam
1997-07-03  0:00     ` Robert Dewar
1997-07-09  0:00       ` Robert I. Eachus
1997-07-01  0:00 ` Michael F Brenner
1997-07-01  0:00   ` Robert Dewar
1997-07-02  0:00   ` Wes Groleau
1997-07-07  0:00     ` Michael F Brenner
1997-07-01  0:00 ` Geert Bosch
1997-07-02  0:00   ` Source files organisation using gnat: more Laurentau
1997-07-02  0:00     ` Robert B. Love 
1997-07-02  0:00       ` nasser
1997-07-03  0:00     ` Michael F Brenner
1997-07-03  0:00     ` Ian Caldwell
1997-07-01  0:00 ` Source files organisation using gnat Michel Gauthier
1997-07-05  0:00   ` Robert Dewar
1997-07-06  0:00     ` Geert Bosch
1997-07-07  0:00       ` Tucker Taft [this message]
1997-07-08  0:00       ` Robert Dewar
1997-07-08  0:00         ` nabbasi
1997-07-08  0:00           ` Robert Dewar
replies disabled

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