comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Implementing an Ada compiler and libraries.
Date: Wed, 9 May 2007 18:51:27 +0200
Date: 2007-05-09T18:51:22+02:00	[thread overview]
Message-ID: <6819scxft9y4$.1vlh83ppnnyrh$.dlg@40tude.net> (raw)
In-Reply-To: 1178721451.073700.10730@y80g2000hsf.googlegroups.com

On 9 May 2007 07:37:31 -0700, Lucretia wrote:

> I've read some older threads from 1994-1995 which cover how older
> compilers implemented a repository based Ada standard library in which
> compilations units were added to.
> 
> 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.

An interesting issue is cross-platform library units, I was playing with
this idea, but came to no conclusion.

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

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

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

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2007-05-09 16:51 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 [this message]
2007-05-09 17:21   ` Lucretia
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