comp.lang.ada
 help / color / mirror / Atom feed
From: "Nick Roberts" <Nick.Roberts@dial.pipex.com>
Subject: Re: Building a compiler
Date: 1999/02/05
Date: 1999-02-05T00:00:00+00:00	[thread overview]
Message-ID: <79enuc$lvc$1@plug.news.pipex.net> (raw)
In-Reply-To: 87aeyv4kbg.fsf@mihalis.ix.netcom.com

Chris Morgan wrote in message <87aeyv4kbg.fsf@mihalis.ix.netcom.com>...
[...]
|Presumably there are some "itches" in the design of GNAT/GCC that you
|would like to scratch by building your own alternative.

Interestingly, the "itches" you (very astutely) presume I wish to scratch
are not in GNAT/GCC - which I am only passingly familiar with - but were in
other, much older, Ada compilers I have used in my career.

These compilers were very intimately bound up with the execution
environments they targetted (essentially for real-time embedded
applications, albeit huge ones). The story is a familiar one: I had lots of
ideas as to how it could be improved, but, of course, no power at the time
to introduce any of my ideas.

So, the gist of it is, I am not only writing an entire new Ada compiler, but
I'm also writing a new operating system (a very small one) as well!
Together, these two will scratch most of my itches. The OS is a bit
Mach-like, but fully object-oriented, and introduces some interesting new
ideas. One of the key objectives of the OS is the use of memory-mapped,
fully-linked, object files for maximum program initiation speed. The general
theme of the compiler and the OS will be "speed to the max".

|There have been some discussions
|of language extensions on this group, including one for which Tucker
|Taft eventually gave the most popular new syntax.


Do you mean the "raise ... when" contruct? I'll be happy to include this
(certainly a handy addition). But, then, I'll have to include a flag to
reject it :-( ;-)


|I have to
|wonder though whether you wouldn't get more satisfaction out of
|building extended versions of GNAT.
[...anecdote...]
|Still, if you want to try, it's a worthy challenge, let us know when
|your parser runs faster than GNAT's ;)

I imagine my compiler will always run a lot slower than GNAT/GCC. I am
writing both the 'front end' (parser) and 'back end' in Prolog.

As the compiler is going to be a deeply optimising one, the use of a 5GL
such as Prolog is likely to be fairly essential. At the risk of sounding
(extremely) snooty, constructing/extending such a compiler out of Ada and C
(as I assume - correct me if I'm wrong - GNAT and GCC are respectively
written in) would be a bit too clumsy to be practical. I'm willing to listen
to arguments about this point of view.

Yes, I'm writing the Prolog (semi-)compiler, too. There is really no limit
to my madness!

Whatever I produce, and whenever I produce it, I intend to publish as 'open
source'. I'll keep you posted.

-------------------------------------------
Nick Roberts
-------------------------------------------







  parent reply	other threads:[~1999-02-05  0:00 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-01-14  0:00 Fixed point multiplication ambiguity Marc A. Criley
1999-01-14  0:00 ` Robert I. Eachus
1999-01-14  0:00 ` Matthew Heaney
1999-01-14  0:00 ` Tom Moran
1999-01-14  0:00 ` Tucker Taft
1999-01-15  0:00   ` robert_dewar
1999-01-28  0:00   ` Nick Roberts
1999-01-28  0:00     ` robert_dewar
1999-01-28  0:00     ` Tucker Taft
1999-01-28  0:00       ` robert_dewar
1999-01-29  0:00       ` Nick Roberts
1999-01-29  0:00         ` Tucker Taft
1999-01-29  0:00           ` Nick Roberts
1999-01-29  0:00             ` Tucker Taft
1999-02-01  0:00               ` Robert I. Eachus
1999-02-02  0:00               ` Building a compiler (was: Fixed point multiplication ambiguity) Nick Roberts
1999-02-03  0:00                 ` dennison
1999-02-03  0:00                 ` Chris Morgan
1999-02-04  0:00                   ` robert_dewar
1999-02-04  0:00                     ` Garbage collection - was " news.oxy.com
1999-02-04  0:00                       ` robert_dewar
1999-02-05  0:00                         ` David Botton
1999-02-05  0:00                         ` Tom Moran
1999-02-18  0:00                         ` news.oxy.com
1999-02-18  0:00                           ` Garbage collection - was Re: Building a compiler Samuel Mize
1999-02-19  0:00                             ` Samuel Mize
1999-02-18  0:00                           ` Garbage collection - was Re: Building a compiler (was: Fixed point multiplication ambiguity) dewar
1999-02-18  0:00                           ` David Botton
1999-02-18  0:00                           ` AdaHag
1999-02-19  0:00                           ` Steven Hovater
1999-02-20  0:00                           ` A Modest Defense of ACT (though they are big boys and can take care of themselves) Steve Quinlan
1999-02-21  0:00                             ` dewar
1999-02-22  0:00                               ` Matthew Heaney
1999-02-21  0:00                                 ` bill
1999-02-22  0:00                                   ` Larry Kilgallen
1999-02-22  0:00                                 ` dennison
1999-02-22  0:00                             ` dennison
1999-02-24  0:00                               ` Steve Quinlan
1999-02-25  0:00                                 ` dennison
1999-02-26  0:00                                   ` Steve Quinlan
1999-02-26  0:00                                     ` dennison
1999-02-27  0:00                                       ` Simon Wright
1999-02-27  0:00                                         ` Dave Taylor
1999-02-28  0:00                                       ` dewar
1999-02-25  0:00                                 ` dewar
1999-02-25  0:00                                   ` Steve Quinlan
1999-02-25  0:00                                     ` robert_dewar
1999-02-05  0:00                     ` GC+HC for GNAT/GCC (was: Building a compiler) Nick Roberts
     [not found]                       ` <m33e4jvs1n.fsf@muc.de>
1999-02-06  0:00                         ` GC+FSD for GNAT/GCC Nick Roberts
1999-02-07  0:00                           ` robert_dewar
1999-02-05  0:00                   ` Nick Roberts [this message]
1999-02-05  0:00                     ` Building a compiler Tucker Taft
1999-02-06  0:00                       ` Nick Roberts
1999-01-30  0:00             ` Fixed point multiplication ambiguity robert_dewar
1999-02-02  0:00               ` Building a compiler (was: Fixed point multiplication ambiguity) Nick Roberts
1999-02-03  0:00                 ` robert_dewar
1999-02-03  0:00                 ` Tucker Taft
1999-01-14  0:00 ` Fixed point multiplication ambiguity bob
1999-01-14  0:00 ` David C. Hoos, Sr.
replies disabled

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