* Re: Ada to C conversion
1990-11-01 13:32 ` RICK CARLE
@ 1990-11-02 2:05 ` Jerry Sweet
0 siblings, 0 replies; 4+ messages in thread
From: Jerry Sweet @ 1990-11-02 2:05 UTC (permalink / raw)
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.
^ permalink raw reply [flat|nested] 4+ messages in thread