On Apr 12, 2009, at 13:29, Oliver Kellogg wrote:
On Tue, 4 Mar 2003, Geert Bosch <bosch at gnat dot com> wrote:
[...]
Best would be to first post a design overview,
before doing a lot of work in order to prevent spending time
on implementing something that may turn out to have fundamental
problems.
I've done a little experimenting to get a feel for this.
I've looked at the work done toward the GCC compile server but
decided that I want to concentrate on GNAT trees (whereas the
compile server targets the GNU trees.)
Also I am aiming somewhat lower - not making a separate compile
server process but rather extending gnat1 to handle multiple
files in a single invocation.
While this may be an interesting idea, there are some fundamental
assumptions
in the compiler that each compilation indeed processes a single
compilation unit,
resulting in a single object and .ali file. It would be best to first
contemplate
what output a single invocation of the compiler, with multiple
compilation units
as arguments, should produce.
How would you decide if a unit needs recompilation if there was no 1:1
correspondence between compilation units and object/.ali files?
Note that unlike many other languages, Ada requires checks to avoid
including out-of-date compilation results in a program.
-Geert