Fortran Wiki
FORTRAN 77

Work on the FORTRAN 77 standard (X3J3/90.4, ISO 1539:1980) was initiated by ANSI in 1969 after a number of compiler vendors introduced extensions to the FORTRAN 66 standard. The standard was formally approved in 1978. It added a number of significant features to address many of the shortcomings of FORTRAN 66:

  • Block IF and END IF statements, with optional ELSE and ELSE IF clauses, to provide improved language support for structured programming
  • DO loop extensions, including parameter expressions, negative increments, and zero trip counts
  • OPEN, CLOSE, and INQUIRE statements for improved I/O capability
  • Direct-access file I/O
  • IMPLICIT statement
  • CHARACTER data type, with vastly expanded facilities for character input and output and processing of character-based data
  • PARAMETER statement for specifying constants
  • SAVE statement for persistent local variables
  • Generic names for intrinsic functions
  • A set of intrinsics (lge, lgt, lle, llt) for lexical comparison of strings, based upon the ASCII collating sequence.

An important practical extension to FORTRAN 77 was the release of MIL-STD-1753 in 1978. This specification, developed by the U.S. Department of Defense, standardized a number of features implemented by most FORTRAN 77 compilers but not included in the ANSI FORTRAN 77 standard. These features would eventually be incorporated into the Fortran 90 standard.

  • DO WHILE and END DO statements
  • INCLUDE statement
  • IMPLICIT NONE variant of the IMPLICIT statement
  • Bit manipulation intrinsic functions, based on similar functions included in Industrial Real-Time Fortran (ANSI/ISA S61.1 (1976))