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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,37b5f16b9be86fec X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: ada -> C translator Date: 1997/04/08 Message-ID: #1/1 X-Deja-AN: 231553723 References: <33436B29.41C6@sema-grenoble.fr> <5i243c$i1h@mulga.cs.mu.OZ.AU> <5i4jok$qiq@mulga.cs.mu.OZ.AU> <5i9r5t$nb6@mulga.cs.mu.OZ.AU> <5icuf7$4k1$1@goanna.cs.rmit.edu.au> Organization: New York University Newsgroups: comp.lang.ada Date: 1997-04-08T00:00:00+00:00 List-Id: iRichard O'Keefe said <> I gave many other examples. The problems that people have in understanding the nature of target dependence make me think that people do not really understand what we are talking about. They still probably are thinking in terms of translation into reasonably high level C, but that's NOT possible. What we are talking about is generating very low level C, much of it at the level of semantics of assembly, and much of it incorporating target semantics. And if you do not think it is possible to write portable Ada programs that interface with COBOL, you completely misunderstand the intention of section B.4 of the RM. Sure it might be the case that a partiular source program does not use this feature of Ada 95, and you only need a subset of the language compiled. Well that of course changes the viewpoint. If you restrict the subset severely enough (no exceptions, pragma suppress assumed, no nested procedures, no variant records etc. etc. etc.), then you WILL be able to translate the Ada subset directly into C. But if you want to cover the whole language, even if you restrict yourself to the required part of the language, you will find situations in which you have to play low level games, and where it is hard, or probably impossible, to avoid target dependences in the generated C code.