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=2.6 required=5.0 tests=BAYES_20,INVALID_DATE, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mojsys!joevl From: joevl@mojsys.com (Joe Vlietstra) Newsgroups: comp.lang.ada Subject: Re: Computer Language Translation Keywords: C, Ada, Translation, Language Message-ID: <1991Feb28.214420.845@mojsys.com> Date: 28 Feb 91 21:44:20 GMT References: <791@nfsun.UUCP> Reply-To: joevl@mojsys.com (Joe Vlietstra) Distribution: na Organization: Mojave Systems Corporation, Claremont, CA List-Id: In article <791@nfsun.UUCP> tkueny@nfsun.UUCP (Todd Kueny) writes: >[...Discussion about language translation products...] >I would like to hear any comments concerning translation that people >may have. Only serious comments please, no flames about why its a >terrible thing to do; some of us have no choice. > >######################################################################## >Todd R. Kueny { My opinions are my own. } >nfsun!tkueny@uunet.uu.net 105 Bevington Road >(412) 243-1630 Pittsburgh, PA 15221 We are looking at developing a QuickBASIC-to-Ada translator for internal use. (Don't ask me why, it's a long story.) We have also used a lot of PD and commercial translators. Our experience corresponds with your observation -- there's a lot more to translation than simple re-expression in another language. I can summarize a translation task into the following steps: -- INITIALIZATION Experiment with the translator. Use lint (or flint) to identify problems in original code. Use cross-ref to develop data base for global variables. This step represents roughly 10% of the total effort. -- PRE-TRANSLATION Place original version into configuration management. Fix minor problems reported by lint (e.g. unused vars, etc.) Try to clean up spaghetti code. Perform regression test against original version. Approximately 25% of the total effort. -- TRANSLATION Run translator. Fix translator artifacts. Perform another regression test. Only 5% of the total effort. -- POST-TRANSLATION Fix major problems reported by lint. Incorporate Ada structured programming features. More regression testing. 60% of the total effort! Even if the translator is able to correctly translate 100% of the original code, there will be a significant post-translation effort. The post-translation effort stems from the fact software translated into Ada is never as well-structured as software originally written in Ada. (In fact, translated software is pretty darn ugly.) A significant clean-up effort is required before the translated software is presentable. The management challenge is to prevent the clean-up effort from becoming a re-write effort. Joe Vlietstra -- ------------------------------------------------------------------ Joe Vlietstra | Checked Daily: ...!uunet!mojsys!joevl Mojave Systems Corp | Checked Weekly: mojave@hmcvax.claremont.edu 1254 Harvard Avenue | Iffy Routing: joevl@mojsys.com