Re: Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS or at least also Windows, doesn't matter)

glen herrmannsfeldt <gah@ugcs.caltech.edu>
Sun, 2 Jan 2011 06:20:15 +0000 (UTC)

          From comp.compilers

Related articles
Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS or a z80eu@arcor.de (Peter Dassow) (2010-12-26)
Re: Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS prenom_nomus@yahoo.com (Marco) (2010-12-27)
Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS or a compilers@is-not-my.name (2010-12-30)
Re: Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS kargls@comcast.net (steve) (2010-12-31)
Re: Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS gah@ugcs.caltech.edu (glen herrmannsfeldt) (2011-01-02)
Re: Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS gah@ugcs.caltech.edu (glen herrmannsfeldt) (2011-01-03)
Re: Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS robin51@dodo.com.au (robin) (2011-01-13)
| List of all articles for this month |

From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Newsgroups: comp.compilers
Date: Sun, 2 Jan 2011 06:20:15 +0000 (UTC)
Organization: A noiseless patient Spider
References: 10-12-061 11-01-007
Keywords: Fortran, history
Posted-Date: 02 Jan 2011 20:39:52 EST

steve <kargls@comcast.net> wrote:
> On Dec 30, 7:46 am, compil...@is-not-my.name wrote:
(snip)


>> One of the great things about old languages, especially old
>> languages IBM supported, is almost everything that used to
>> work 50 years ago still does today.


> This is almost true. Fortran 95 has short list of deleted features
> (e.g., REAL do-loop index). Most (all?) modern compilers still
> implement the deleted feature. More importantly there are two
> F66 features that most (all?) modern compilers do not implement.
> I cannot remember one and would need to pull out my copy
> of F66 to find it. The other feature is the extended do loop.
> From F66:


The H format descriptor might be the other one.


> 7.1.2.8.2 A DO is said to have an EXTENDED RANGE if both
> of the following conditions apply:


> (1) There exists a GO TO statement or arithmetic IF
> statement within the range of the innermost DO of a
> completely nested nest that can cause control to pass
> out that nest.


> (2) There exists a GO TO statement of arithmetic IF
> statement not within the nest that, in the collection
> of all possible sequences of execution in the particular
> program unit, could be executed after a statement of the
> type described in (1), and the execution of which could
> cause control to return into the range of the innermost
> DO of the completely nested nest.


> This looks like an early attempt at exception handling.


In Fortran I, SUBROUTINE, CALL, and FUNCTION hadn't yet been added.


ASSIGNed GOTO could be used to fake subroutine calls. ASSIGN
the label of the statement to return to to an appropriate variable,
then GOTO to the subroutine. At the end, an assigned GOTO returns.


Since you want to be able to do subroutine calls from inside DO loops,
extended range was allowed. Of course now no-one thinks anything
unusual at all about a CALL inside a DO loop.


-- glen
[How could you forget FREQUENCY ? -John]



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.