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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ea40456edaea3d23 X-Google-Attributes: gid103376,public From: kilgallen@eisner.decus.org (Larry Kilgallen) Subject: Re: Pascal to Ada translator/ aflex,ayacc GNAT ports Date: 1996/11/29 Message-ID: <1996Nov29.132928.1@eisner>#1/1 X-Deja-AN: 201440584 x-nntp-posting-host: eisner.decus.org references: <57htn2$jm8@cnn.Princeton.EDU> <57i8af$p8m@felix.seas.gwu.edu> <57j17b$6pt@news.pacifier.com> x-nntp-posting-user: KILGALLEN x-trace: 849292176/5918 organization: LJK Software newsgroups: comp.lang.ada Date: 1996-11-29T00:00:00+00:00 List-Id: In article , dewar@merv.cs.nyu.edu (Robert Dewar) writes: > In discussing Pascal to Ada translation: > > .. maps to ... > > declare > w_0 : aRecordType renames complex.expression[ witharrayindex ]; > begin > w_0.field1 := value; > end; > > Yes, this is the obvious appropraite translation in this case, however, I > would say that the general goal of making the translated code look as much > like the original Pascal as possible is quite wrong, and illustrates what > is wrong with these translators. If you want Pascal-in-Ada what's the point, > you might as well write in Pascal. The only point in translating from Pascal > to Ada is to take advantage of the greater expressive power (e.g. generics) > available in Ada. Although people should always have warnings about using Language A as a vehicle for writing in the style of Language B, making an informed decision in light of that warning should be sufficient. It could be, for instance, that this is an excellent time to switch to Ada (political climate, etc.) but a lousy time to rewrite large chunks of code. A mechanical translator is not going to write "good Ada", so the priorities should be: 1) Having it write code no less correct than the Pascal 2) Having it write code which humans can change to be "good Ada" I think the second purpose is well served by something which follows the style of the Pascal, presuming those who will make subsequent changes are accustomed to maintaining the Pascal version and thus will feel "at home". To keep people from following on and using Ada to write Pascal, the translator could insert elements such as: -- The following emulation of a Pascal WITH statement -- was produced by a mechanical translator as a temporary -- expedient until a more robust approach can be implemented -- by our skilled programming staff. with the exact text to be generated controlled by the project manager in accordance with local sensibilities. Larry Kilgallen