Man Page fsplit.1




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.