previous up next print clean
Next: Extensions Up: CHANGES FROM RATFOR77 Previous: CHANGES FROM RATFOR77

Backward compatibility issues

We were forced to make some changes to Ratfor77 because of new features in Fortran90. Ratfor77 allows & and | for the logical operators && and ||. While attractive, it is not part of the C family of languages and we had to drop it because Fortran90 adopts & for line continuation.

Because we are not compiler writers, we dropped a rarely used feature of Ratfor77 that was not easy for us to implement: Ratfor77 recognizes break 2 which escapes from {{ }}. Breaking out of multiple loops is still possible using the loop naming feature provided by Fortran90.

Changing all the code that generated illustrations for four textbooks (of various ages) also turned up a few more issues: Fortran90 uses the words scale and matmul as intrinsics. Old Fortran77 programs using those words as variable names must be changed. Ratfor77 unwisely allowed variables of implicit (undeclared) types. Ratfor90 includes an implicit none statement in all programs, eliminating a common programming bug.


previous up next print clean
Next: Extensions Up: CHANGES FROM RATFOR77 Previous: CHANGES FROM RATFOR77
Stanford Exploration Project
10/9/1997