From: fjh@mundook.cs.mu.OZ.AU (Fergus Henderson)
Subject: Re: ada -> C translator
Date: 1997/04/05
Date: 1997-04-05T00:00:00+00:00 [thread overview]
Message-ID: <5i4k9s$qrp@mulga.cs.mu.OZ.AU> (raw)
In-Reply-To: 5i2ofl$qn6$1@news.nyu.edu
kenner@lab.ultra.nyu.edu (Richard Kenner) writes:
>The issue isn't support of non-portable constructs, but representation
>of data items. Specifically, discriminated records. You will
>probably be forced to generate code that has specific offsets encoded
>into it. These offsets will depend on the sizes of primitive
>datatypes.
>
>It just *might* be possible to write all these in terms of type sizes
>at the C level and make it portable, but that's *really* hard if
>possible at all.
Well, it's certainly possible. Whether it is practical or not is
another question.
One possibility is to use
union Word { long l; void *p; };
as essentially your only data type in the generated C code.
Then you can use arrays instead of structs and you can calculate
offsets portably.
Of course, this is not efficient. But you can use conditional compilation...
--
Fergus Henderson <fjh@cs.mu.oz.au> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger fjh@128.250.37.3 | -- the last words of T. S. Garp.
next prev parent reply other threads:[~1997-04-05 0:00 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
1997-04-03 0:00 ada -> C translator Gabriel Monaton
1997-04-03 0:00 ` Robert A Duff
1997-04-03 0:00 ` Robert Dewar
1997-04-03 0:00 ` Robert Dewar
1997-04-04 0:00 ` Fergus Henderson
1997-04-04 0:00 ` Richard Kenner
1997-04-05 0:00 ` Fergus Henderson [this message]
1997-04-04 0:00 ` Robert Dewar
1997-04-05 0:00 ` Fergus Henderson
1997-04-06 0:00 ` Robert Dewar
1997-04-07 0:00 ` Fergus Henderson
1997-04-07 0:00 ` Robert Dewar
1997-04-08 0:00 ` Richard A. O'Keefe
1997-04-08 0:00 ` Robert Dewar
1997-04-08 0:00 ` William Clodius
1997-04-09 0:00 ` Fergus Henderson
1997-04-08 0:00 ` Fergus Henderson
1997-04-08 0:00 ` Robert Dewar
1997-04-08 0:00 ` William Clodius
1997-04-09 0:00 ` Fergus Henderson
1997-04-09 0:00 ` William Clodius
1997-04-09 0:00 ` Robert Dewar
1997-04-09 0:00 ` Fergus Henderson
1997-04-09 0:00 ` Robert Dewar
1997-04-10 0:00 ` Fergus Henderson
1997-04-04 0:00 ` Larry Kilgallen
1997-04-04 0:00 ` Robert Dewar
1997-04-05 0:00 ` Larry Kilgallen
1997-04-06 0:00 ` Robert Dewar
[not found] ` <lvlo6iwws8.fsf@sulu.fl.ensco.com>
1997-04-17 0:00 ` Lance Kibblewhite
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox