Re: Fortran 77 parser



Ron Shepard wrote:
... For example, Cray compilers also supported a few dozen oddball intrinsic functions that no other vendor supported. The more your code relied on those intrinsic functions, the more your code was locked in to using Cray compilers and Cray hardware.

There were a 'few', maybe. But a 'few dozen'? The CVMGx
functions let you vectorize loops with conditional code in it,
before the compiler was smart enough to do it on its own.
(And the F90 MERGE intrinsic is very comparable to the CVMG
stuff.) Beyond that, there were things like LAPACK and FFT
libraries... None of that was a 'lock in'.

Cray wanted you to use REAL declarations, in part, for the same reason, it helped to lock you in to their business model.

No, it was the 'natural' way to implement Fortran for the machine.

Crays main interest was that folks write clean DO loops that the
compiler could then auto-vectorize. A good idea on any machine.
(Similar idioms allow the compiler to safely unroll and software
pipeline loops on scalar processors.) There was really very little
non-Standard syntax needed to achieve this goal. Given a good
compiler, of course.

Other vendors in the late 70's and 80's did this too, of course, with language features and library routines, it was standard practice.

Other vendors were *far* worse than Cray.

There is always COCO... Dan Nagles extended version (which
has some additional text substitution capabilities) works
rather well.

I don't think COCO is supported by a single fortran vendor that I use right now.

Doesn't matter. Dans code is publicly available and written in
Standard Fortran-95 (+ the command line argument calls from F2003.)
It compiles on just about anything modern with nearly zero lines
of code changes.

W.
.