philm@astroatc.UUCP (Phil Mason) (07/01/88)
I have an important application for a "C" to ADA Translator. It doesn't even have to translate all "C" constructs or strange pointer operations. I thought I saw one on the net within the last two years. Was I dreaming?? Any help would be most appreciated. Commericial/Public Domain/Shareware solutions welcome. - - - Philm
philm@astroatc.UUCP (Phil Mason) (07/01/88)
Blast! My signature got left off the previous posting. Here it is : -- Kirk : Bones ? | Phil Mason, Astronautics Technology Center Bones : He's dead Jim. | Madison, Wisconsin - "Eat Cheese or Die!" ...seismo-uwvax-astroatc!philm | I would really like to believe that my ...ihnp4-nicmad/ | employer shares all my opinions, but . . .
zweig@csed-1.IDA.ORG (Jonathan Zweig) (07/08/88)
In my experience, it takes a month or so to come up to speed as a so-so Ada programmer if you've got experience programming in other languages. C to Ada translation? I vote hiring somebody to do it by hand at five or six bucks an hour. If the code is too icky to translate by hand with a sufficiently high degree of confidence that you've preserved the functionality, then rewrite the program(s). -Johnny Zweig Institute for Defense Analyses/ Computer and Software Engineering Division.
wcs@skep2.ATT.COM (Bill.Stewart.[ho95c]) (07/14/88)
In article <401@csed-1.IDA.ORG> zweig@csed-1.IDA.ORG (Jonathan Zweig) writes:
:C to Ada translation? I vote hiring somebody to do it by hand at five or
:six bucks an hour. If the code is too icky to translate by hand with a
:sufficiently high degree of confidence that you've preserved the
:functionality, then rewrite the program(s).
Translating Pascal or Fortran to C is reasonable, since the semantics
of C (almost) include the semantics of the other two languages.
Translating C to Ada is another story - there's too much difference in
semantics.
First of all, C makes heavy use of pointers, which Ada
considers to be evil and dangerous, and sometimes it uses them for
things that really *are* evil and dangerous and just can't be faked.
Second, C is a weakly-typed language, and real programs often take
advantage of this - a translator would need too much intelligence about
what's really going on to work around these problems.
Even if you find a translator, don't expect the resulting Ada code to
be human-readable or maintainable - and if you lose that, you lose most
of the reason for Ada. Either higher some <undergrads or contractors>,
or check out the interfaces between C and Ada provided by your Ada
system. You'll probably have to write a lot of package definitions.
If you're only using Ada because you're working on a military contract
(shame on you) see how flexible your contracting officer is about such
things - while new code may have to be Ada, existing code usually can
be grandfathered in.
--
# Thanks;
#Bill Stewart, AT&T Bell Labs 2G218 Holmdel NJ 201-949-0705 ho95c.att.com!wcs