# Statements for Program Unit Calls and Definitions

The following table lists statements used for program unit definition and procedure call and return.

Name | Description
--- | ---
BLOCK DATA | Identifies a block-data subprogram.
CALL | Executes a subroutine.
COMMON | Delineates variables shared between program units.
CONTAINS | Identifies the start of module procedures within a host module, contained procedures within a procedure, or bound procedures within a type.
ENTRY | Specifies a secondary entry point to a subroutine or external function.
EXTERNAL | Declares a name to be that of a user-defined subroutine or function, making it passable as an argument.
FUNCTION | Identifies a program unit as a function.
INCLUDE | Inserts the contents of a specified file into the source file.
INTERFACE | Specifies an explicit interface for external functions and subroutines.
INTRINSIC | Declares a predefined function.
MODULE | Identifies a module program unit.
PROGRAM | Identifies a program unit as a main program.
RETURN | Returns control to the program unit that called a subroutine or function.
SUBROUTINE | Identifies a program unit as a subroutine.
USE | Gives a program unit access to a module.

Parent topic: Language Summary Tables