|Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS or a firstname.lastname@example.org (Peter Dassow) (2010-12-26)|
|Re: Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS email@example.com (Marco) (2010-12-27)|
|Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS or a firstname.lastname@example.org (2010-12-30)|
|Re: Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS email@example.com (steve) (2010-12-31)|
|Re: Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS firstname.lastname@example.org (glen herrmannsfeldt) (2011-01-02)|
|Re: Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS email@example.com (glen herrmannsfeldt) (2011-01-03)|
|Re: Looking for a real Fortran-66 compatible PC compiler (CP/M or DOS firstname.lastname@example.org (robin) (2011-01-13)|
|From:||glen herrmannsfeldt <email@example.com>|
|Date:||Sun, 2 Jan 2011 06:20:15 +0000 (UTC)|
|Organization:||A noiseless patient Spider|
|Posted-Date:||02 Jan 2011 20:39:52 EST|
steve <firstname.lastname@example.org> wrote:
> On Dec 30, 7:46 am, compil...@is-not-my.name wrote:
>> 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.
> 22.214.171.124.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.
[How could you forget FREQUENCY ? -John]
Return to the
Search the comp.compilers archives again.