From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,53ca16c587912bce X-Google-Attributes: gid103376,public From: stt@houdini.camb.inmet.com (Tucker Taft) Subject: Re: Source files organisation using gnat Date: 1997/07/07 Message-ID: #1/1 X-Deja-AN: 255321966 Sender: news@inmet.camb.inmet.com (USENET news) X-Nntp-Posting-Host: houdini.camb.inmet.com References: <5podbt$sn8$1@gonzo.sun3.iaf.nl> Organization: Intermetrics, Inc. Newsgroups: comp.lang.ada Date: 1997-07-07T00:00:00+00:00 List-Id: 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