Прошло так много времени с тех пор, как я коснулся Fortran (и я никогда не имел дело с Fortran 90), что я не уверен, но я вижу базовый подход, который должен работать, пока язык поддерживает строковые литералы в коде.
Включите всю вашу программу внутри себя в блок литералов.Очевидно, что вы не можете включить литералы в это, вместо этого вам нужен какой-то токен, который говорит вашей программе включить блок литералов.
Очевидно, это означает, что у вас есть две копии источника, одна внутри другой,Поскольку это уродливо, я бы не стал так делать, а просто сохранил ваш исходный код с токеном include_me и запустил его через программу, которая создает вложенные файлы перед тем, как вы скомпилируете их.Обратите внимание, что эта программа поделится приличным количеством кода с подпрограммой, которая воссоздает код из блока литералов.Если вы собираетесь пойти по этому пути, я бы также сделал так, чтобы программа выкладывала исходный код этой программы, чтобы тому, кто пытается изменить файлы, не приходилось иметь дело с двумя копиями.