From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!usc!ucsd!orion.oac.uci.edu!ucivax!gateway From: jsweet@ICS.UCI.EDU (Jerry Sweet) Newsgroups: comp.lang.ada Subject: Re: Ada to C conversion Message-ID: <6245.657511339@ics.uci.edu> Date: 2 Nov 90 02:05:52 GMT In-reply-to: Rick Carle's message of 01 Nov 90 13:32:08 +0000. <1863@raybed2.msd.ray.com> List-Id: 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.