STRUCT(1)                                                            STRUCT(1)


NAME
       struct - structure Fortran programs

SYNOPSIS
       struct [ option ] ...  file

DESCRIPTION
       Struct translates the Fortran program specified by file (standard input
       default) into a Ratfor program.  Wherever possible, Ratfor control con‐
       structs  replace  the  original Fortran.  Statement numbers appear only
       where still necessary.  Cosmetic changes are made,  including  changing
       Hollerith  strings  into  quoted  strings and relational operators into
       symbols (.e.g. ".GT." into ">").  The output is appropriately indented.

       The following options may occur in any order.

       -s     Input  is accepted in standard format, i.e.  comments are speci‐
              fied by a c, C, or * in column 1,  and  continuation  lines  are
              specified  by  a  nonzero, nonblank character in column 6.  Nor‐
              mally input is in the form accepted by f77(1)

       -i     Do not turn computed goto  statements  into  switches.   (Ratfor
              does not turn switches back into computed goto statements.)

       -a     Turn sequences of else ifs into a non-Ratfor switch of the form

              switch
                   { case pred1: code
                     case pred2: code
                     case pred3: code
                     default: code
                   }

              The case predicates are tested in order; the code appropriate to
              only one case is executed.   This  generalized  form  of  switch
              statement does not occur in Ratfor.

       -b     Generate goto’s instead of multilevel break statements.

       -n     Generate goto’s instead of multilevel next statements.

       -tn    Make the nonzero integer n the lowest valued label in the output
              program (default 10).

       -cn    Increment successive labels in the output program by the nonzero
              integer n (default 1).

       -en    If  n  is  0  (default), place code within a loop only if it can
              lead to an iteration of the loop.  If  n  is  nonzero,  admit  a
              small  code  segments to a loop if otherwise the loop would have
              exits to several places including the segment, and  the  segment
              can be reached only from the loop.  ‘Small’ is close to, but not
              equal to, the number of statements in the code segment.   Values
              of n under 10 are suggested.

FILES
       /tmp/struct*
       /usr/lib/struct/*

SEE ALSO
       f77(1)

BUGS
       Struct knows Fortran 66 syntax, but not full Fortran 77.
       If  an  input  Fortran  program contains identifiers which are reserved
       words in Ratfor, the structured version of the program will  not  be  a
       valid Ratfor program.
       The labels generated cannot go above 32767.
       If you get a goto without a target, try -e .


7th Edition                     April 29, 1985                       STRUCT(1)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 672
Valid CSS Valid XHTML 1.0 Strict