fsplit [ -e efile ] ... [ fsplit_options ] file
fsplit 将包含 FORTRAN 77 或 FORTRAN 90 源代码的文件当作输入。它尝试将输入拆分为 <name>.<syf> 格式的单独例程文件,其中 <name> 是程序单元(函数、子例程、模块、块数据或程序)的名称,<syf> 是名称的扩展;它对应于源代码的源语言。
没有名称的块数据子程序将获得 blkdtaNNN.<syf> 格式的名称,其中 NNN 是三个数字,尚不存在使用该名称的文件。
没有名称的主程序将获得 mainNNN.<syf> 格式的名称
如果无法对程序单元进行分类,或者如果 name.<syf> 已存在,则会将程序单元放入 zzzNNN.<syf> 格式的文件,其中文件 zzzNNN.<syf> 尚不存在。
通常,每个子程序单元拆分为一个单独的文件。但是如果使用了 -e 选项,则仅分离 -e 选项中指定的子程序。例如,命令
fsplit -e sub1 -e sub2 prog.f
仅分离文件 sub1.f 和 sub2.f 中的 sub1 和 sub2。
缺省情况下,所有单元名称都转换为小写。使用 -u 选项时,所有单元都保存自己的原始名称。例如,让文件 main.f77 包含:
subroutine SUB1 ... end subroutine SUB2 ... end
则命令
fsplit main.f77
将生成名为 "sub1.f77" 和 "sub2.f77" 的文件,而命令
fsplit -u main.f77
将生成名为 "SUB1.f77" 和 "SUB2.f77" 的文件
如上所述,fsplit 程序接受包含 FORTRAN-77 和 FORTRAN-90 代码的源文件。如果未设置命名选项(请参见下文),则按照以下规则指导 fsplit:
如果 <syf> 是 '.f90' 或 '.F90',则将输入文件视为自由格式的 FORTRAN-90 文本。
如果 <syf> 是 '.f77' 或 '.F',则将输入文件视为 FORTRAN-77 文本。
如果 <syf> 是除上述字符以外的其他字符(例如 '.f' 或 '.for'),则也将输入文件视为 FORTRAN-77 文本。
源语言和源格式的定义包括一些选项
fsplit 将源文件视为 FORTRAN-90。
fsplit 将源文件视为固定格式。(此选项仅针对 fortran-90 文本有意义)。
将 main1.f 文件视为包含固定格式 FORTRAN-90 文本的文件。
Example 2 fsplit -f90 main2.f将 main2.f 文件视为包含自由格式 FORTRAN-90 文本的文件。
Example 3 fsplit -f90 main3.f77将 main3.f77 文件视为包含自由格式 FORTRAN-90 文本的文件。
如果未找到通过 -e 选项指定的名称,会将诊断消息写入 standard error。
非标准源格式可能会使 fsplit 感到混乱。
如果源代码在语句构成上不是正确的程序,可能会使 fsplit 感到混乱。
很难将 -e 选项用于未命名的主程序和块数据子程序,因为您必须预测创建的文件名。