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:
explode
extract