## 2.3.1 Free Source Form

In free source form, statements are not limited to specific positions on a source line, and a line can contain from 0 to 132 characters.

Blank characters are significant in free source form. The following are rules for blank characters:

- Blank characters must not appear in lexical tokens, except within a character context. For example, there can be no blanks between the exponentiation operator **. Blank characters can be used freely between lexical tokens to improve legibility.
- Blank characters must be used to separate names, constants, or labels from adjacent keywords, names, constants, or labels. For example, consider the following statements:

      INTEGER NUM
      GO TO 40
      20 DO K=1,8

  The blanks are required after INTEGER, TO, 20, and DO.

- Some adjacent keywords must have one or more blank characters between them. Others do not require any; for example, BLOCK DATA can also be spelled BLOCKDATA. The following list shows which keywords have optional or required blanks:

  Optional Blanks | Required Blanks
  --- | ---
  BLOCK DATA | CASE DEFAULT
  DOUBLE COMPLEX | DO WHILE
  DOUBLE PRECISION | IMPLICIT type-specifier
  ELSE IF | IMPLICIT NONE
  END BLOCK DATA | INTERFACE ASSIGNMENT
  END DO | INTERFACE OPERATOR
  END FILE | MODULE PROCEDURE
  END FORALL | RECURSIVE FUNCTION
  END FUNCTION | RECURSIVE SUBROUTINE
  END IF | RECURSIVE type-specifier FUNCTION
  END INTERFACE | type-specifier FUNCTION
  END MODULE | type-specifier RECURSIVE FUNCTION
  END PROGRAM |
  END SELECT |
  END SUBROUTINE |
  END TYPE |
  END WHERE |
  GO TO |
  IN OUT |
  SELECT CASE |

For information on statement separators (;) in all forms, see Section 2.3.

Comment Indicator

In free source form, the exclamation point character (!) indicates a comment if it is within a source line, or a comment line if it is the first character in a source line.

Continuation Indicator

In free source form, the ampersand character (&) indicates a continuation line (unless it appears in a Hollerith or character constant, or within a comment). The continuation line is the first noncomment line following the ampersand. Although Fortran 90 permits up to 39 continuation lines in free-form programs, Compaq Fortran allows up to 511 continuation lines.

The following shows a continued statement:

    TCOSH(Y) = EXP(Y) + &        ! The initial statement line
               EXP(-Y)           ! A continuation line

If the first nonblank character on the next noncomment line is an ampersand, the statement continues at the character following the ampersand. For example, the preceding example can be written as follows:

    TCOSH(Y) = EXP(Y) + &
              & EXP(-Y)

If a lexical token must be continued, the first nonblank character on the next noncomment line must be an ampersand followed immediately by the rest of the token. For example:

    TCOSH(Y) = EXP(Y) + EX&
              &P(-Y)

If you continue a character constant, an ampersand must be the first non-blank character of the continued line; the statement continues with the next character following the ampersand. For example:

    ADVERTISER = "Davis, O'Brien, Chalmers & Peter&
                     &son"
    ARCHITECT  = "O'Connor, Emerson, and Davis&
                     &  Associates"

If the ampersand is omitted on the continued line, the statement continues with the first non-blank character in the continued line. So, in the preceding example, the whitespace before "Associates" would be ignored.

The ampersand cannot be the only nonblank character in a line, or the only nonblank character before a comment; an ampersand in a comment is ignored.

For More Information:

For details on the general rules for all source forms, see Section 2.3.

Previous Page Next Page Table of Contents