comp.lang.ada
 help / color / mirror / Atom feed
From: Lucretia <lucretia9@lycos.co.uk>
Subject: Re: Implementing an Ada compiler and libraries.
Date: 9 May 2007 10:21:20 -0700
Date: 2007-05-09T10:21:20-07:00	[thread overview]
Message-ID: <1178731280.075981.23040@u30g2000hsc.googlegroups.com> (raw)
In-Reply-To: <6819scxft9y4$.1vlh83ppnnyrh$.dlg@40tude.net>

On May 9, 5:51 pm, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
wrote:
> > But I'm interested in seeing how I can get the compiler to not have to
> > reparse other source files (when with'd) in order to compile a unit.
>
> Why should it? Certainly, you would have some intermediate representation
> which includes symbolic tables and other stuff the compiler creates after
> semantic analysis before code generation. A compiled library unit will have
> this stored in some appropriate format.

True, but is it possible to include dependency info within the object
itself?

> 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.

> > Also, I'd like to see how static/shared libraries can be implemented/
> > used to extend the Ada standard library.
>
> I don't think it is a good idea to mix Ada libraries and
> object/dynamic-linking libraries, at least in existing OS'es. In some OO OS
> with advanced containers it could work. But still, these are two different
> abstraction levels. Object code is too close to the hardware. The library
> units should probably be kept on the other side.

Why? Are you saying that it would be better to store libraries in IR
rather than binary form? For a linux based compiler (for example) you
still need to be able to link with binary libs, and I do think it's
necessary to be able to build a shared lib with an Ada compiler - this
would not be possible with IR, unless the whole OS worked in this way.

> > I don't want to have to have
> > tons of source files lying around for a static/shared library, I
> > honestly don't see the need. Surely, it's possible to build a compiler
> > that can get the information it needs from the library itself (or at
> > least a companion library rather than a ton of different ALI files)?
>
> Or a database, for that matter...

Like the old Ada library? 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.

> > Now, I'd really like to hear from people who have implemented an Ada
> > compiler and people who have used other compilers (I've only used
> > GNAT). Basically, I'm interested in how other implementations handle
> > the library. Note that there are 2 ideas of library here:
>
> > 1) The standard Ada library.
> > 2) Link/shared libraries found on operating systems.
>
> 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?

Thanks,
Luke.




  reply	other threads:[~2007-05-09 17:21 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-09 14:37 Implementing an Ada compiler and libraries Lucretia
2007-05-09 16:51 ` Dmitry A. Kazakov
2007-05-09 17:21   ` Lucretia [this message]
2007-05-10  7:59     ` Dmitry A. Kazakov
2007-05-10  8:51       ` Duncan Sands
2007-05-10 17:39       ` Lucretia
2007-05-10 18:06         ` Lucretia
2007-05-10 19:30           ` Dmitry A. Kazakov
2007-05-11  7:14           ` Gautier
2007-05-11 17:39             ` Lucretia
2007-05-11 17:43               ` Lucretia
2007-05-11 18:20                 ` Robert A Duff
2007-05-11 18:49                   ` Lucretia
2007-05-11 20:34                     ` Georg Bauhaus
2007-05-11 22:37                       ` Lucretia
2007-05-11 22:06                     ` Robert A Duff
2007-05-11 22:41                       ` Lucretia
2007-05-16 19:40                 ` Randy Brukardt
2007-05-09 20:48 ` Robert A Duff
2007-05-10  3:38   ` Lucretia
2007-05-16 19:58   ` Randy Brukardt
2007-05-09 21:15 ` Gautier
2007-05-10  3:39   ` Lucretia
2007-05-10 15:34   ` Stefan Bellon
2007-05-10 16:25     ` Jean-Pierre Rosen
2007-05-10 17:07       ` Ludovic Brenta
2007-05-10 17:14         ` Stefan Bellon
2007-05-10 16:37     ` Ludovic Brenta
2007-05-10 16:43       ` Stefan Bellon
2007-05-10 16:49         ` Ludovic Brenta
2007-05-10 17:02           ` Stefan Bellon
2007-05-10 19:57             ` Jacob Sparre Andersen
2007-05-10 20:31             ` Simon Wright
2007-05-10 17:37       ` Pascal Obry
2007-05-11 10:09         ` Ludovic Brenta
2007-05-11 16:33           ` Pascal Obry
2007-05-10 17:36     ` Pascal Obry
2007-05-10 17:42     ` Lucretia
2007-05-10 17:34 ` Pascal Obry
2007-05-10 17:48   ` Lucretia
2007-05-10 20:01   ` Duncan Sands
2007-05-10 21:00     ` Pascal Obry
2007-05-10 21:00     ` Pascal Obry
2007-05-11 11:04       ` Duncan Sands
2007-05-13 12:03         ` Ludovic Brenta
2007-05-11  8:39   ` Georg Bauhaus
replies disabled

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