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=0.7 required=5.0 tests=BAYES_00,INVALID_DATE, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ae963a8252893fb2 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1994-11-03 02:58:23 PST Path: bga.com!news.sprintlink.net!howland.reston.ans.net!EU.net!uunet!news1.digex.net!stout!cstump From: cstump@levtech.com (Charles Stump) Newsgroups: comp.lang.ada Subject: Re: Fortran To ADA Date: 2 Nov 1994 16:09:59 GMT Organization: Leverage Technologists Inc. Distribution: world Message-ID: <398dkn$bk@news1.digex.net> References: Reply-To: cstump@levtech.com NNTP-Posting-Host: stout.levtech.com Date: 1994-11-02T16:09:59+00:00 List-Id: In article 94Nov1075025@world.std.com, srctran@world.std.com (Gregory Aharonian) writes: > >>I don't normally read this group but I have an ADA question. Someone in my >>organization has inquired about a tool to convert Fortran to ADA. Does such >>a tool(s) exist? Any pointers would be most helpful. > >Such tools offer little cost benefit over translating the code by hand (along >with a good EMACS-like editor) because of the idiosyncracies of Fortran (like >tricks played with COMMON blocks, lack of builtin Complex math system, and >Fortran's freedom to pass any part of an array to a subroutine). > >The Fortran-to-Ada tool found in the repositories and CDROMs, that tool that >came out of the WWMCCS Ada tool effort, was released to the public because it >was worthless. > >Greg Aharonian Translation from FORTRAN to Ada is not an impossible task. However, I do not think that there are any commercial or even shareware tools which do it well. If there are, I assume someone will tell me. In GENERAL, language translation between procedural languages can be automated to a large extent. In those areas where total automation can not be accomplished, tools can greatly assist in the translation. The "trick" is NOT to perform line-by-line translation, but to apply heuristics to the problem in order to perform intelligent translation. For example, determining what kind of carazy things are going on in COMMONs or parallel arrays and logically converting them to their correct Ada (or other language) constructs. There may not (probably is not) a one-to-one mapping of constructs and concepts between source and target languages. That is one of the reasons why there are different programming languages in the first place. One approach (the one I like) is to abstract the program/code to a language independent design view and use that as the basis for translation instead of doing all the work at the code level. --- ====================================================================== = Charles W. Stump II, Sr. Software Engineer, cstump@levtech.com = ====================================================================== = Leverage Technologists, Inc. = Reverse Engineering, = = P.O. Box 4638 = Reengineering, = = Rockville, MD = Maintenance, and = = 20849-4638 = Quality Assurance = = (301)309-8783 = tools and services. = = http://stout.levtech.com/ = = ======================================================================