Entity Declaration List
Standard: F77 F90 F95 F2003
 entity-decl-list ::= entity-decl [ , entity-decl ]...

entity-decl::=object-name [ clen ] [ dims ] [ initialisation ]
 | function-name [ clen ]

clen::=* int-literal-constant
 | * ( char-len )

 dims ::= ( array-spec )

initialisation::== expression
 | => NULL()

The entity-decl-list is used in both Type Declaration statements and Component Definition statements.
The entity-decl-list names the entities being declared. If clen is present, it specifies the CHARACTER length for that entity (overriding the length in the type-spec). If dims is present, it specifies the DIMENSION attribute for that entity (overriding any DIMENSION clause).

In a type declaration statement, if the PARAMETER clause is present then value must be present: it specifies the value of the parameter. If the PARAMETER clause is not present, initialisation implies the SAVE attribute and specifies the initial value of the variable.

In a component definition statement, if initialisation is present it specifies default initialisation for that component. This will set the initial value of the component to that value whenever a new variable of the type is created.

An initialisation is permitted to be a reference to the NULL intrinsic function if and only if the entity is a pointer, and this specifies that the pointer is initially disassociated. Note that if the entity is allocatable, no initialisation is permitted (the initial state of all allocatable entities is unallocated).

Attributes, CHARACTER type, Component Definition statement, DIMENSION attribute, NULL intrinsic function, Type Declaration statement.