Visible to Intel only — GUID: GUID-3B053C0C-F370-43EC-BCD7-30AA2B142266
Visible to Intel only — GUID: GUID-3B053C0C-F370-43EC-BCD7-30AA2B142266
PROGRAM
Statement: Identifies the program unit as a main program and gives it a name.
[PROGRAM name]
[specification-part]
[execution-part]
[CONTAINS
internal-subprogram-part]
END[PROGRAM [name]]
name |
Is the name of the program. |
specification-part |
Is one or more specification statements, except for the following:
An automatic object must not appear in a specification statement. If a SAVE statement is specified, it has no effect. |
execution-part |
Is one or more executable constructs or statements, except for ENTRY or RETURN statements. |
internal-subprogram-part |
Is one or more internal subprograms (defining internal procedures). The internal-subprogram-part is preceded by a CONTAINS statement. |
Description
The PROGRAM statement is optional. Within a program unit, a PROGRAM statement can be preceded only by comment lines or an OPTIONS statement.
The END statement is the only required part of a program. If a name follows the END statement, it must be the same as the name specified in the PROGRAM statement.
The program name is considered global and must be unique. It cannot be the same as any local name in the main program or the name of any other program unit, external procedure, or common block in the executable program.
A main program must not reference itself (either directly or indirectly).
Example
The following is an example of a main program:
PROGRAM TEST
INTEGER C, D, E(20,20) ! Specification part
CALL SUB_1 ! Executable part
...
CONTAINS
SUBROUTINE SUB_1 ! Internal subprogram
...
END SUBROUTINE SUB_1
END PROGRAM TEST
The following shows another example:
PROGRAM MyProg
PRINT *, 'hello world'
END