comp.lang.ada
 help / color / mirror / Atom feed
* Implementing an Ada compiler and libraries.
@ 2007-05-09 14:37 Lucretia
  2007-05-09 16:51 ` Dmitry A. Kazakov
                   ` (3 more replies)
  0 siblings, 4 replies; 46+ messages in thread
From: Lucretia @ 2007-05-09 14:37 UTC (permalink / raw)


Hi,

I started to implement the Ada/CS from the Crafting a compiler in C
book. I was doing this from scratch, but I decided that I'd rather
implement a real subset using the real rules from the standard. So,
now I'm looking into implementing an Ada 2005 subset.

I don't want to get into a flamewar over reasons why/not to do this,
I'd just like to do it ;D and not have this thread go massively off
topic ;)

Ok, here are my aims, in no particular order:

* Similar Ada/CS subset, but based on the Ada 2005 standard.
* Use ANTLR for the front-end.
* Restrict the input to ASCII.
* Use LLVM for the back-end.
* Also look into writing a back end from scratch (not a priority and
only for experience).
* Allow the use of multiple compilation units in 1 operating system
file.
* Also allow GNAT *.ad[sb] files.
* Experiment with libraries.

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.
Also, I'd like to see how static/shared libraries can be implemented/
used to extend the Ada standard library. 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)?

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.

Thanks,
Luke.




^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2007-05-16 19:58 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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-11 11:04       ` Duncan Sands
2007-05-13 12:03         ` Ludovic Brenta
2007-05-10 21:00     ` Pascal Obry
2007-05-11  8:39   ` Georg Bauhaus

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