Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!convex!psmith From: psmith@convex.com (Presley Smith) Newsgroups: comp.lang.fortran Subject: Re: F90 compiler from NAG Message-ID: <1991Jun24.163115.13507@convex.com> Date: 24 Jun 91 16:31:15 GMT References: <1991Jun24.005145.865@convex.com> <28660D45.4578@ics.uci.edu> Sender: usenet@convex.com (news access account) Organization: CONVEX Computer Corporation, Richardson, Tx., USA Lines: 53 Nntp-Posting-Host: mozart.convex.com In article <28660D45.4578@ics.uci.edu> levine@liege.ics.uci.edu (David Levine) writes: >Presley Smith writes: > >>There is a standard definition available from ANSI as to what is a >>"compiler" and what is a "translator." The best way to sort out >>what to call the NAG product is for someone to find a copy of that >>document and put those definitions on the net. > >Unfortunately, ANSI/IEEE Std 729-1983 (IEEE Standard Glossary of >Software Engineering Terminology) doesn't help much: > > compiler. A computer program used to compile.(ISO) Contrast with > assembler, interpreter. > > compile. To translate a higher order language program into its > relocatable or absolute machine code equivalent. Contrast with > assemble, interpret. > > translator. A program that transforms a sequence of statements > in one language into an equivalent sequence of statements in > another language. See also assembler, compiler, interpreter. > >In general, I refer to a translator as a compiler if it does more than >just textual substitution. For example, modern compilers are based on >an analysis/synthesis process. It sounds to me like the NAG F90 product >goes this route, and so I call it a compiler. Seens to me to be a translator. - Since a "compiler" is a "computer program used to compile" - AND the definition of "compile" is to "translate a higher order language program into it's relocatable or absolute machine code equivalent"... Since the NAG product produces C code as output, NOT relocatable or absolute machine code or equivalent... Then by this standard set of definitions it's NOT a compiler... It has transformed one high order language (Fortran 90) into another high order language (C). If it produces C code as output, that would fit with the definition of a translator. It tranforms a sequence of statements in one language (Fortran 90) into an equivalent sequence of statements in another language (C). If the NAG product is a compiler, then we need to change the standard definitions. In my mind, it's a translator. FYI. Presley psmith@convex.com