comp.lang.ada
 help / color / mirror / Atom feed
From: stt@houdini.camb.inmet.com (Tucker Taft)
Subject: Re: Ada front end technology
Date: 1997/07/07
Date: 1997-07-07T00:00:00+00:00	[thread overview]
Message-ID: <ECyuFw.IDw.0.-s@inmet.camb.inmet.com> (raw)
In-Reply-To: dewar.868113402@merv


Robert Dewar (dewar@merv.cs.nyu.edu) wrote:

: Jon is really confused on his history here. Intermetric's approach of
: generating a front end that can be sold and used for rehostings is
: hardly new. DDCI, Alsys, and Verdix were all in this business, as well
: as other vendors with considerable success. For example, Alsys sold its
: front end to Unisys and to HP. Many other such deals were concluded.
: It is nice to see Intermetrics continue this tradition, but it is not
: a new invention that someone "finally somewhere produced". Many of the
: Ada 83 technologies were designed to be portable in this sense, and
: the fact that they succeeded is seen in the many Ada 83 products that
: used third party front ends.

Although I basically agree with Robert, one thing that makes AdaMagic
a little different is that rather than defining our own intermediate
language (IL), and then using some kind of "gasket" to connect it to 
an existing back end, we took a more IL-neutral approach in our front
end.  This has allowed us (or a licensee) to adapt the compiler 
relatively easily to directly generate the IL of an existing back end.

This was what allowed us to adapt the front end to generate
Java bytes codes as well.

A legitimate response to this is that there is no real difference
between "adapting the front end" and "building a gasket," but having
worked on various compilers, I can say there is a qualitative 
difference in the effort involved in adapting the front end, and
it feels very different from the effort involved in building a "gasket."
I also think the results are somewhat better for the "adaptation"
approach than the "gasket" approach.

From what I know of the GNAT front end, it could also be
"adapted" to generate other ILs, but there is no real need to
do so given the adaptability of the existing GCC back end.

On the other hand, of what I know of most Ada 83 front ends, they
could not be easily adapted to generate (significantly) different ILs.

Part of this is traceable directly to the source-based approach
of AdaMagic and GNAT.  Since they don't need to create a persistent
representation of the symbol table, they are not "involved" with 
any particular kind of persistent IL, and can use a more
adaptable "procedure-call" interface for generating IL.

--
-Tucker Taft   stt@inmet.com   http://www.inmet.com/~stt/
Intermetrics, Inc.  Burlington, MA  USA




      reply	other threads:[~1997-07-07  0:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-07-05  0:00 Ada front end technology Robert Dewar
1997-07-07  0:00 ` Tucker Taft [this message]
replies disabled

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