Я пытаюсь модернизировать старый код (или, по крайней мере, сделать его более понятным), но столкнулся со странным форматом оператора FORMAT
.
В частности, это оператор FORMAT
с константами Холлерита (nH
, где n
— число):
FORMAT(15H ((C(I,J),J=1,I3,12H),(D(J),J=1,I3, 6H),I=1,I3,') te'
1,'xt' )
Это мешает подсветке синтаксиса, так как кажется, что в нем есть незакрытые скобки. Он отлично компилируется с этим оператором формата как есть, но закрытие круглых скобок вызывает ошибку компиляции (с использованием компилятора Intel или gfortran).
Насколько я понимаю, константы Холлерита были порождением Фортрана 66 и были заменены с появлением CHARACTER
в Фортране 77. Обычно я понимаю их, когда они используются как что-то вроде символа, но использование в качестве FORMAT
меня смущает.
Кроме того, если я изменю 15H ((...
на 15H ((...
(т.е. удалю один пробел), он не скомпилируется. Фактически, он не скомпилируется, даже если я изменю код на этот:
FORMAT(15H ((C(I,J),J=1,I3,12H),(D(J),J=1,I3, 6H),I=1,I3,') text' )
Я бы хотел, чтобы это было в более нормальном формате (F77+). Любая помощь приветствуется.