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