NAME
fsplit - split a multi-routine FORTRAN 90 or FORTRAN 77
source file into individual files.
SYNOPSIS
fsplit [ -e efile ] ... [ fsplit_options ] file
DESCRIPTION
fsplit takes as input a file containing FORTRAN 77 or FOR-
TRAN 90 source code. It attempts to split the input into
separate routine files of the form <name>.<syf>, where
<name> is the name of the program unit (function, subrou-
tine, module, block data or program) and <syf> is extension
of name; it corresponds to the source language of source
code.
Block data subprograms with no names get names of the form
blkdtaNNN.<syf>, where NNN are three digits and a file of
this name does not already exist.
Main programs with no names get names of the form
mainNNN.<syf>
If there is a trouble in classifying a program unit, or if
name.<syf> already exists, the program unit is put in a file
of the form zzzNNN.<syf>, where the file zzzNNN.<syf> does
not already exist.
OPTIONS
-e efile
Normally, each subprogram unit is split into a separate
file. But if e-option is used, then only subprograms
named in the e-option are split off.
Example
The command fsplit -e sub1 -e sub2 prog.f
isolates sub1 and sub2 in the files sub1.f and sub2.f
only.
-u Default all unit names are converted to lower case.
When the u-option is used all units save their own ori-
ginal names.
Example Let the file main.f77 contain:
subroutine SUB1
...
end
subroutine SUB2
...
end
Then the command
fsplit main.f77
will build files named "sub1.f77" and "sub2.f77"
And the command
fsplit -u main.f77
will build files named "SUB1.f77" and "SUB2.f77"
naming-options
As it was noted above fsplit program takes source files
containing FORTRAN-77 and FORTRAN-90 code. If naming
options are not set (see below), fsplit is guided by
the following rules:
- If <syf> is '.f90' or '.F90' then input file is
considered as FORTRAN-90 text in a free form.
- If <syf> is '.f77' or '.F' then input file is con-
sidered as FORTRAN-77 text.
- If <syf> is other then above-mentioned (for example
'.f' or '.for'), then input file is also considered as
FORTRAN-77 text.
There are some options for the definition of source language
and source form
-f90 fsplit will treat source file as FORTRAN-90.
-fixed
fsplit will treat source file as fixed form. (This
option has meaning for fortran-90 text only).
EXAMPLES
1. fsplit -f90 -fixed main1.f
main1.f file will be considered as a file containing
FORTRAN-90 text in a fixed form.
2. fsplit -f90 main2.f
main2.f file will be considered as a file containing
FORTRAN-90 text in a free form.
3. fsplit -f90 main3.f77
main3.f77 file will be considered as a file containing
FORTRAN-90 text in a free form.
DIAGNOSTICS
If names specified via the -e option are not found, a diag-
nostic is written to standard error.
BUGS
Nonstandard source formats may confuse fsplit.
If source code is not syntactically right program it may
confuse fsplit.
It is hard to use -e option for unnamed main programs and
block data subprograms since you must predict the created
file name.