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: fjh@murlibobo.cs.mu.OZ.AU (Fergus Henderson) Subject: Re: ada -> C translator Date: 1997/04/09 Message-ID: <5igd1f$4fd@mulga.cs.mu.OZ.AU>#1/1 X-Deja-AN: 231826089 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> <5idcjq$8lh@mulga.cs.mu.OZ.AU> <5ifh5a$k5c@mulga.cs.mu.OZ.AU> Organization: Comp Sci, University of Melbourne Newsgroups: comp.lang.ada Date: 1997-04-09T00:00:00+00:00 List-Id: dewar@merv.cs.nyu.edu (Robert Dewar) writes: >You may remain unconvinced, but it just goes to show that you have not >really looked at the detailed issues of implementing Ada this way. Well, I do remain unconvinced. In fact, so far with each detailed issue that you have raised, the more unconvinced I have become, because the issues you have raised are either issues that the Mercury implementation deals with or issues which seem easily solvable. >Also, it becomes clear that what you have in mind for an Ada compiler >written this way is more of a small subset Ada toy than a real compiler What I had in mind was not a small subset Ada toy; I had in mind something that could be validated. (Some Ada features might require small amounts of non-portable code, but porting would still be a lot easier than porting a native-code compiler.) >(it is out of the question for example, for a real Ada compiler, which >must implement pragma Import and pragma Export properly to consider not >using an invocation stack). I don't know what you're trying to say here. I think this statement is at best vacuous, and at worst false. Certainly any implementation of a language that supports recursion is going to need an invocation stack. But an Ada implementation could use a different invocation stack than the languages that it interfaces with via pragma Import and pragma Export, and an Ada compiler that worked via compilation to C need not use the C stack as its invocation stack. Why do you suggest that this would be "out of the question"? (In case you were wondering, the Mercury implementation has a C interface which supports functionality quite similar to Ada's "pragma import" and "pragma export", and it does not use the C stack as its invocation stack.) What do you mean by a "real" Ada compiler? -- Fergus Henderson | "I have always known that the pursuit WWW: | of excellence is a lethal habit" PGP: finger fjh@128.250.37.3 | -- the last words of T. S. Garp.