我正在维护一个主要用固定格式 Fortran 编写的程序。我最近从 Windows PC 切换到 Mac,现在我正在使用 TextWrangler 来编辑我的代码。我注意到编辑器窗口中的缩进并不总是与代码的实际结构相对应。例如,以下随机行由 TextWrangler 显示如下:
! The following lines start on column 5!
loadnam=dirstate(1:NN)//'updatestate.sav'
open (9876, file=loadnam, status='unknown', form='binary')
close (9876, status='delete')
if ((rank == root) .or. (doParallel == .false.))
* call messagerun (1,'Proceeding with updating!')
include 'updating_opt.inc'
end if
显然,这并不反映代码的实际结构,因为固定格式的 Fortran 语句可能不会在第 7 列之前开始(除了少数例外)。但是,编译器没有抱怨,当我用另一个编辑器打开文件时,代码以正确的格式出现。
但是,如果我输入新行,如果编译器在第 7 列之前开始,编译器将中止编译(这是正常行为)。
我不太了解 TextWrangler 的这种行为。是故意的吗?TextWrangler 确实自动识别了该语言(as Fortran
, not Fortran 9x
),所以我想知道为什么它不考虑旧 Fortran 代码的这一重要方面。
有没有办法避免这种行为(同时保持 Fortran 语法突出显示)?由于程序很长,我想避免将其全部重写为自由格式的 Fortran。