Это не обязательно - Фортран не зарезервировал никаких слов, поэтому такие вещи, как:
if if .eq. then then if = else else then = if endif
являются полностью законными. Это не только затрудняет синтаксический анализ компилятора , но часто почти невозможно прочитать или обнаружить ошибки. например, рассмотрим классический Fortran (скажем, до Fortran 77 - я недавно его не использовал, но, по крайней мере, надеюсь, что они исправили некоторые вещи, подобные этому, в более свежих стандартах) Цикл Fortran DO выглядит следующим образом:
DO 10 I = 1,10
Если они не будут рядом, вы, вероятно, сможете увидеть, как вам будет не хватать, как это было иначе:
DO 10 I = 1.10
К сожалению, последний вообще не является циклом DO - это простое присвоение значения 1.10
переменной с именем DO 10 I
(да, он также допускает пробелы в имени). Поскольку Fortran также поддерживает неявные (необъявленные) переменные, это (или было) все совершенно допустимо, и некоторые компиляторы даже приняли бы это без предупреждения!