Oracle Solaris Studio 12.4 Man Pages

Exit Print View

Updated: January 2015
 
 

fsplit(1)

Name

fsplit - 将多例程 FORTRAN 90 或 FORTRAN 77 源文件拆分为单个文件

Synopsis

fsplit [ -e efile ] ... [ fsplit_options ]  file

Description

fsplit 将包含 FORTRAN 77 或 FORTRAN 90 源代码的文件当作输入。它尝试将输入拆分为 <name>.<syf> 格式的单独例程文件,其中 <name> 是程序单元(函数、子例程、模块、块数据或程序)的名称,<syf> 是名称的扩展;它对应于源代码的源语言。

没有名称的块数据子程序将获得 blkdtaNNN.<syf> 格式的名称,其中 NNN 是三个数字,尚不存在使用该名称的文件。

没有名称的主程序将获得 mainNNN.<syf> 格式的名称

如果无法对程序单元进行分类,或者如果 name.<syf> 已存在,则会将程序单元放入 zzzNNN.<syf> 格式的文件,其中文件 zzzNNN.<syf> 尚不存在。

Options

-e efile

通常,每个子程序单元拆分为一个单独的文件。但是如果使用了 -e 选项,则仅分离 -e 选项中指定的子程序。例如,命令

fsplit -e sub1 -e sub2 prog.f

仅分离文件 sub1.f 和 sub2.f 中的 sub1 和 sub2。

-u

缺省情况下,所有单元名称都转换为小写。使用 -u 选项时,所有单元都保存自己的原始名称。例如,让文件 main.f77 包含:

subroutine SUB1
...
end
subroutine SUB2
...
end

则命令

fsplit  main.f77

将生成名为 "sub1.f77" 和 "sub2.f77" 的文件,而命令

fsplit  -u main.f77

将生成名为 "SUB1.f77" 和 "SUB2.f77" 的文件

naming-options

如上所述,fsplit 程序接受包含 FORTRAN-77 和 FORTRAN-90 代码的源文件。如果未设置命名选项(请参见下文),则按照以下规则指导 fsplit:

  • 如果 <syf> 是 '.f90' 或 '.F90',则将输入文件视为自由格式的 FORTRAN-90 文本。

  • 如果 <syf> 是 '.f77' 或 '.F',则将输入文件视为 FORTRAN-77 文本。

  • 如果 <syf> 是除上述字符以外的其他字符(例如 '.f' 或 '.for'),则也将输入文件视为 FORTRAN-77 文本。

源语言和源格式的定义包括一些选项

-f90

fsplit 将源文件视为 FORTRAN-90。

-fixed

fsplit 将源文件视为固定格式。(此选项仅针对 fortran-90 文本有意义)。

Examples

Example 1 fsplit -f90 -fixed main1.f

将 main1.f 文件视为包含固定格式 FORTRAN-90 文本的文件。

Example 2 fsplit -f90 main2.f

将 main2.f 文件视为包含自由格式 FORTRAN-90 文本的文件。

Example 3 fsplit -f90 main3.f77

将 main3.f77 文件视为包含自由格式 FORTRAN-90 文本的文件。

Diagnostics

如果未找到通过 -e 选项指定的名称,会将诊断消息写入 standard error

Bugs

非标准源格式可能会使 fsplit 感到混乱。

如果源代码在语句构成上不是正确的程序,可能会使 fsplit 感到混乱。

很难将 -e 选项用于未命名的主程序和块数据子程序,因为您必须预测创建的文件名。