In free form source code blanks must not appear:
INTEGER :: wizzy ! is a valid keyword INT EGER :: wizzy ! is not
REAL :: running_total ! is a valid name REAL :: running total ! is not
Blanks must appear:
INTEGER FUNCTION fit(i) ! is valid INTEGERFUNCTION fit(i) ! is not INTEGER FUNCTIONfit(i) ! is not
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