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.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,91d0d8cd28bbb477 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!q75g2000hsh.googlegroups.com!not-for-mail From: Lucretia Newsgroups: comp.lang.ada Subject: Re: Implementing an Ada compiler and libraries. Date: 10 May 2007 10:39:52 -0700 Organization: http://groups.google.com Message-ID: <1178818792.829214.95870@q75g2000hsh.googlegroups.com> References: <1178721451.073700.10730@y80g2000hsf.googlegroups.com> <6819scxft9y4$.1vlh83ppnnyrh$.dlg@40tude.net> <1178731280.075981.23040@u30g2000hsc.googlegroups.com> <8cu67r7wcdn7$.18rtn6g7506w2$.dlg@40tude.net> NNTP-Posting-Host: 62.56.81.180 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Trace: posting.google.com 1178818793 14226 127.0.0.1 (10 May 2007 17:39:53 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 10 May 2007 17:39:53 +0000 (UTC) In-Reply-To: <8cu67r7wcdn7$.18rtn6g7506w2$.dlg@40tude.net> User-Agent: G2/1.0 X-HTTP-UserAgent: Opera/9.10 (X11; Linux i686; U; en),gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: q75g2000hsh.googlegroups.com; posting-host=62.56.81.180; posting-account=G-J9fgwAAADgpzBiEyy5tO4f8MX5fbpw Xref: g2news1.google.com comp.lang.ada:15728 Date: 2007-05-10T10:39:52-07:00 List-Id: On May 10, 8:59 am, "Dmitry A. Kazakov" wrote: > > True, but is it possible to include dependency info within the object > > itself? > > Sure, it is just another "with". Each "with" loads (maps into the memory) > the corresponding precompiled unit (compilation context). Some minor > relocation stuff will be needed, checksums and time stamping as Gautier has > mentioned. The symbolic tables (actually contexts) can be organized as a > tree-stack to reduce loading overhead. "Use" plants a tree in the forest. I > did such thing once. I guess it should make table look-ups slower. So the > net effect on the compilation speed is unclear, before you actually build > the thing. True, have been thinking about this today. Don't know about the speed, it'd have to be tested with enough of a subset and enough compilation units. > >> An interesting issue is cross-platform library units, I was playing with > >> this idea, but came to no conclusion. > > > LLVM would be capable of this. > > Then is not a cross-platform, I mean the only platform here is the VM. > Otherwise, it could be doable. Though many static things which are > platform-dependent will cease to be compile-time static. So you will be > unable to have certain things fully precompiled. Well, no, the target is the VM, but it can be translated into any back- end, thus portable to some degree. > > Why? Are you saying that it would be better to store libraries in IR > > rather than binary form? > > IR = infra red? ;D Intermediate Representation > >> Or a database, for that matter... > > > Like the old Ada library? > > It wasn't that bad. DEC Ada had a library, if I correctly remember. With an > integrated source control system it might become more attractive than the > GNAT model. If I designed Ada tool-chain (the compiler is only a part of), > I would probably choose this. That's actually not a bad idea. > > I was actually thinking, if I couldn't embed > > the other information required by the compiler into the final object, > > then a separate "lib" containing only this informaton would be > > necessary. > > You mean symbolic info for the debugger? No, I mean't the dependency information required by the compiler. > >> I remember RSX-11 in which macro and object libraries were handled by the > >> same librarian tool. > > > RSX-11 is before my time, got any more info on this? > > It was too primitive to be used for Ada. But the idea is basically same. What idea? Same as what? Thanks, Luke.