Copyright Digital Equipment Corp. All rights reserved.

Statements

 Statements in a Fortran program unit follow a required order.  In
 the following figure, vertical lines separate statement types that
 can be interspersed.  For example, DATA statements can be
 interspersed with executable statements.  Horizontal lines indicate
 statement types that cannot be interspersed.  For example, type
 declaration statements cannot be interspersed with executable
 statements.










 +-------+--------------------------------------------------------+
 |       |                  OPTIONS Statements                    |
 |       |--------------------------------------------------------|
 |       |       PROGRAM, FUNCTION, SUBROUTINE, MODULE, or        |
 |       |                BLOCK DATA Statements                   |
 |       |--------------------------------------------------------|
 |       |                    USE Statements                      |
 |       |---------+----------------------------------------------|
 |COMMENT|         |       IMPLICIT NONE Statements               |
 | Lines,|         |------------+-------------------+-------------|
 |INCLUDE|NAMELIST,| PARAMETER  |  IMPLICIT Statements            |
 |State- | FORMAT, |------------+---------------------------------|
 | ments,|   &     |            | Derived-Type Definitions,       |
 |  &    | ENTRY   | PARAMETER  | Interface Blocks, Type          |
 |Direc- | State-  | and DATA   | Declaration Statements, State-  |
 | tives |  ments  | Statements | ment Function Statements, and   |
 |       |         |            | Specification Statements        |
 |       |         +------------+---------------------------------|
 |       |         |   DATA     | Executable Statements           | 
 |       |         | Statements |                                 |
 |       |---------+----------------------------------------------|
 |       |                CONTAINS Statement                      |
 |       |--------------------------------------------------------|
 |       |    Internal Subprograms or Module Subprograms          |
 |-------+--------------------------------------------------------|
 |                     END Statement                              |
 +----------------------------------------------------------------+

Additional information available:

Directives      ACCEPT          ALLOCATABLE     ALLOCATE        ASSIGN
Assignment      AUTOMATIC_and_STATIC            BACKSPACE       BLOCK_DATA
CALL            CASE            CLOSE           COMMON          CONTAINS
CONTINUE        CYCLE           DATA            DEALLOCATE      DECODE
DEFINE_FILE     DELETE          DIMENSION       DO              DO_WHILE
ELSE            ELSE_IF         ELSEWHERE       ENCODE          END
END_DO          END_IF          END_MAP         END_SELECT      END_STRUCTURE
END_TYPE        END_UNION       ENDFILE         ENTRY           EQUIVALENCE
EXIT            EXTERNAL        FIND            FORALL          FORMAT
FUNCTION        GOTO            IF              IMPLICIT        IMPLICIT_NONE
INCLUDE         Input_Output    INQUIRE         INTENT          INTERFACE
INTRINSIC       MAP             MODULE          MODULE_PROCEDURE
NAMELIST        NULLIFY         OPEN            OPTIONAL        OPTIONS
PARAMETER       PAUSE           POINTER         PRINT
PRIVATE_and_PUBLIC              PROGRAM         READ            RECORD
RETURN          REWIND          REWRITE         SAVE
Statement_Function              SELECT_CASE     SEQUENCE        STOP
STRUCTURE       SUBROUTINE      TARGET          TYPE
Type_declaration                UNION           UNLOCK          USE
VIRTUAL         VOLATILE        WHERE           WRITE