From: Darren New <dnew@san.rr.com>
Subject: Re: Commercial C To Ada 95 compiler
Date: Sat, 08 Jun 2002 04:14:29 GMT
Date: 2002-06-08T04:14:29+00:00 [thread overview]
Message-ID: <3D0184BD.69723B2D@san.rr.com> (raw)
In-Reply-To: 3D018106.6080004@worldnet.att.net
Jim Rogers wrote:
> One simple example is indexing past the end of an array.
> C compilers simply will not catch this problem. Ada compilers will.
True, assuming it's sufficiently obvious. I would think there might be a lot
of weird C-ish stuff that Ada would have trouble doing, like malloc'ing an
array of floats and then casting it to a (char *) and filling it in with
some pattern.
> On the whole, direct translation may not be possible. C uses
> implicit conversion between integer and floating point types.
> Ada provides no such implicit conversion. You will at least need
> to make all implicit C conversions explicit in Ada.
Well, I would imagine that the translator could do this, yes?
C:
f = i;
Ada
f := Float (i);
> Another incompatibility is trying to reference the control
> variable in a "for" loop outside the scope of the "for" loop.
> This is impossible in Ada and not uncommon in C. The C compiler
> will allow this. The Ada compiler will not.
Well, if your translator translates C for loops that have references to the
index variable outside the for loop into Ada for loops, it'll be a problem.
They'd have to translate it to the corresponding while loop.
I guess if you're going to be strict enough about the word "direct
translation" to mean that a C for loop can't translate to an Ada while loop,
what you say would be true. I don't think that's what's generally meant by
"direct translation".
I think there would be more problematic constructs, tho, like static
variables (inside and/or outside of functions), pointers cast to different
types, and so on.
--
Darren New
San Diego, CA, USA (PST). Cryptokeys on demand.
** http://home.san.rr.com/dnew/DNResume.html **
** http://images.fbrtech.com/dnew/ **
My brain needs a "back" button so I can
remember where I left my coffee mug.
next prev parent reply other threads:[~2002-06-08 4:14 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-03 9:26 Commercial C To Ada 95 compiler Henrik Quintel
2002-06-03 18:52 ` Ingo Marks
2002-06-04 6:40 ` Henrik Quintel
2002-06-04 14:11 ` Frank J. Lhota
2002-06-04 14:26 ` Preben Randhol
2002-06-04 16:38 ` Frank J. Lhota
2002-06-03 20:26 ` Florian Weimer
2002-06-04 6:43 ` Henrik Quintel
2002-06-04 14:18 ` Lutz Donnerhacke
2002-06-07 3:48 ` Richard Riehle
2002-06-07 12:46 ` SteveD
2002-06-07 13:20 ` Marin David Condic
2002-06-09 21:43 ` Stephen Leake
2002-06-10 13:17 ` Marin David Condic
2002-06-11 12:52 ` SteveD
2002-06-11 13:32 ` Marin David Condic
2002-06-12 14:07 ` Larry Kilgallen
2002-06-12 13:21 ` Marin David Condic
2002-06-07 13:21 ` Larry Kilgallen
2002-06-07 19:48 ` Ted Dennison
2002-06-07 20:26 ` Wes Groleau
2002-06-08 3:19 ` SteveD
2002-06-08 3:59 ` Jim Rogers
2002-06-08 4:14 ` Darren New [this message]
2002-06-08 4:50 ` SteveD
2002-06-08 12:04 ` Robert Dewar
2002-06-10 18:44 ` Wes Groleau
2002-06-10 19:23 ` Darren New
2002-06-10 20:55 ` Wes Groleau
2002-06-10 21:03 ` Darren New
2002-06-08 4:46 ` SteveD
2002-06-08 12:11 ` Robert Dewar
2002-06-08 18:46 ` SteveD
2002-06-10 13:34 ` Marin David Condic
2002-06-11 16:38 ` Wes Groleau
2002-06-11 17:27 ` Marin David Condic
2002-06-12 13:18 ` Pascal Obry
2002-06-10 18:47 ` Wes Groleau
2002-06-10 21:23 ` Larry Kilgallen
2002-06-10 20:59 ` Wes Groleau
2002-06-10 21:37 ` Robert A Duff
2002-06-10 22:34 ` Wes Groleau
2002-06-08 12:06 ` Robert Dewar
2002-06-08 15:53 ` Richard Riehle
2002-06-08 15:58 ` Preben Randhol
2002-06-10 13:37 ` Marin David Condic
2002-06-10 23:32 ` Darren New
2002-06-11 13:11 ` Marin David Condic
2002-06-12 15:42 ` Darren New
2002-06-21 17:23 ` David Thompson
2002-06-08 17:45 ` tmoran
2002-06-08 18:32 ` Pascal Obry
2002-06-09 17:41 ` Richard Riehle
2002-06-10 8:11 ` Fraser Wilson
2002-06-08 20:06 ` Jim Rogers
2002-06-09 17:49 ` Richard Riehle
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox