In free form source code blanks must not appear:
INTEGER ! is a valid keyword
INT EGER ! is not
running_total ! is a valid name
running total ! is not
Blanks must appear:
INTEGER FUNCTION fit(i) ! is valid
INTEGERFUNCTION fit(i) ! is not
INTEGER :: hours, mins ! is valid
INTEGERhours, mins ! not valid
Blanks are optional between some keywords mainly `END
construct
'
and a few others;
if in doubt add a blank (it looks better too).
For more information, click here