comp.lang.ada
 help / color / mirror / Atom feed
From: jsweet@ICS.UCI.EDU (Jerry Sweet)
Subject: Re: Ada to C conversion
Date: 2 Nov 90 02:05:52 GMT	[thread overview]
Message-ID: <6245.657511339@ics.uci.edu> (raw)
In-Reply-To: Rick Carle's message of 01 Nov 90 13:32:08 +0000. <1863@raybed2.msd.ray.com>


Rick Carle asked if Irvine Compiler Corp. cross-compilers also generate C.

The answer is: in some configurations.  They also have native code
generators for several targets, most notably the Intel 80960 and the
Motorola 68000 families.

> Are ICC and Meridian somehow connected?

The answer is: not really, at least not since 1983.  Some of their
compiler components share common (internally produced) ancestors, but
the components have long since diverged.

> Are they both children of UCal/Irvine?

The answer is: yes, ca. 1981.  The founders of both companies were
students at UCI with direct or indirect connections to Tim Standish's
Ada environment project, and to Dave Farber's distributed computing
project.

The real answer to the question regarding Ada to C is that you need to
be a little bit careful about what you ask for and what you get.

Both Meridian's and ICC's Ada compilers, in some configurations,
produce C code, but the C code tends to be tailored for a specific
machine/OS configuration (i.e. it's not necessarily rehostable C
code).  Also, up until about a year or so ago, the C back ends to both
the Meridian and ICC compilers generated code that was "high-level
assembly language."  For example, local variables became index
references into a large local array, loop statements translated into
test/goto sequences, and so on.  (This is public knowledge, at least
to anyone who took the trouble to look at what the back end produced.)

About a year ago, Meridian put some serious work into at least one
configuration of their C back end (which they call "C pass 2") to
produce a higher-level Ada to C translation.  This permitted some C
compilers to do a better job of optimization.  I believe that the
higher-level C approaches acceptability to humans, although this needs
to be verified by anyone who's seen a recent edition of a C pass 2
configuration. (Anyone have it on a {Sta,A}rdent P2/P3 machine?  How
about a Multiflow?)

I don't know whether ICC did something similar or not.  In any event,
there's no harm in asking them.

Hope this helps.  By the way, my knowledge of this subject is dated as
of last March.  If anyone else knows anything more recent about the
subject, please speak up.

      reply	other threads:[~1990-11-02  2:05 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1990-10-12 10:34 Ada to C conversion Adam Beguelin
1990-10-28 19:37 ` stt
1990-11-01 13:32   ` RICK CARLE
1990-11-02  2:05     ` Jerry Sweet [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