f90split


f90split, a FORTRAN90 code which reads a (simple) FORTRAN90 source file, and writes each routine to a separate file with an extension of ".f90".

Here, by "routine", we mean a chunk of text that begins with a BLOCKDATA, FUNCTION, MODULE, PROGRAM or SUBROUTINE unit and ends with an END statement.

This utility can be convenient when your goal is to create a UNIX "AR" archive of the compiled object code. By splitting your source code up, and compiling each routine separately, you end up with a library in which each compiled module is individual listed and replaceable.

Usage:

f90split myprog.f90
where

Instead of the name of a single file, a pattern can be given, as in:

f90split sub*.f90
in which case each file whose name matches the pattern will be handled by the program.

Licensing:

The computer code and data files described and made available on this web page are distributed under the MIT license

Languages:

f90split is available in a C version and a FORTRAN90 version.

Related Data and Programs:

catalog, a C++ code which reads a C, C++, FORTRAN77, FORTRAN90, MATLAB, Python, or R code and prints every line that begins with a special index tag. If the code has been marked up expecting this convention, a convenient table of contents is created.

f77split, a C code which reads a FORTRAN77 file and creates individual files for every blockdata, function, module, program, or subroutine in the file.

f90split_test

f90split, a C code which reads a FORTRAN file and creates individual files for every blockdata, function, module, program, or subroutine in the file.

fsplit, reads a FORTRAN file and creates individual files for every function, program, or subroutine in the file, by Van Snyder.

htmlindex, a C++ code which reads a FORTRAN code and writes a skeleton HTML page describing it, assuming that each routine includes a '!!' or 'cc' description line.

include_files, a FORTRAN90 code which reads a FORTRAN code with INCLUDE statements, and makes a copy with the indicated files included.

Source Code:


Last revised on 17 April 2021.