Man Linux: Main Page and Category List

NAME

       fcasplit - tool to split source code into separate per-routine files

SYNOPSIS

       fcasplit [ -f  nmft ] [ -c  nmcc ] [ -a  nmas ] [-noh] [-log]
                [ +fo incf ] [ +co incc ] [ +ao incs ]
                [ -fo optf ] [ -co optc ] [ -ao opts ] file.ext

       fcasplit file.ext [ fca_n ] [ optf [ optc [ opts
                                   [ nmft [ nmcc [ nmas ]]]]]]

DESCRIPTION

       fcasplit,  used  with a command line of either form shown above, splits
       file file.ext having a mixture of FORTRAN / C / assembler routines into
       separate  files  n.f or n.c or n.s, "n" being the name of each routine,
       creating at the same time a shell script file.shfca  and  a  Make  file
       file.mkfca   either  of  which  can  be  used  to  compile all routines
       individually.  All new files are generated in  the  current  directory,
       even if the original file.ext is in a different location.

       NOTE  that  the  program  does  not work on source code written without
       having it in mind, since fcasplit looks for special  identifying  lines
       in  comments  of  the source code in the original file, as noted below.
       It is able to operate, for instance, on source code output by nypatchy.

       Defaults  are  defined in fcasplit for the names by which the compilers
       are called in the generated shell script and Makefile; with the -f, -c,
       -a  options they could be changed.  In Debian GNU/Linux, these defaults
       are gcc for the C compiler, gfortran for the FORTRAN compiler,  and  as
       for the assembler.

       Defaults  are  also defined for the options with which they are called;
       with the -fo, -co, -ao options they can be re-defined;  with  the  +fo,
       +co,  +ao  options they can be incremented.  In Debian GNU/Linux, these
       defaults are "-c -g -O2" for the C compiler, "-c -g -O2 -fno-automatic"
       for the FORTRAN compiler, and "" (i.e., no flags) for the assembler.

       To  be  backward  compatible these options can also be specified by the
       positional parameters after the file-name (as in the second form of the
       command shown above).

       If  the   -noh   option  is  given (or if the first parameter after the
       file-name is "fca_n") the identifying header line of  each  routine  is
       not  written  out. If the -log option is given the name of each routine
       is printed on standard output.

FILE FORMAT

       Each  routine  in  the  original  file  file.ext  must  start  with  an
       identifying line:
         "CDECK  ID>, "      in cols.  1-12  for FORTRAN
         "/*DECK ID>, "      in cols.  1-12  for C
         ";DECK  ID>, "      in cols.  1-12  for assembler
          "DECK  ID>, "      in cols.  2-12  or
           "DECK ID>, "      in cols.  3-12  for anything else
                     "name"  in cols. 13-40  gives the name

       In  the  last  two cases, or if "name" contains an extension,  the file
       created will be "name" without extension .f, .c or .s added to  it  and
       without an entry into the script.

       A  trailing  blank terminates the name, symbol . followed by blank also
       terminates, symbols  ; < # !   all terminate, symbol    */         also
       terminates.

SEE ALSO

       nycheck(1),  nydiff(1), nyindex(1), nylist(1), nymerge(1), nypatchy(1),
       nyshell(1), nysynopt(1), nytidy(1), yexpand(1)

       The reference manual for the Nypatchy suite of programs is available in
       compressed PostScript format at the following URL:
       http://wwwasdoc.web.cern.ch/wwwasdoc/psdir/p5refman.ps.gz

AUTHOR

       This manual page was written by Kevin McCarty <kmccarty@debian.org> for
       the Debian GNU/Linux system (but may be used by others), based  on  the
       help  information  printed  by the fcasplit program when called with no
       arguments.  Both fcasplit and this man page are licensed under the  GNU
       General Public License, version 2 or later (at your choice).

COPYRIGHT

       Copyright (C) CERN, 1996, 1999 and Kevin B. McCarty, 2008.

                                 Mar 12, 2008