Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ struct(1) — AIX PS/2 1.2.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought



STRUCT(1,C)                 AIX Commands Reference                  STRUCT(1,C)



-------------------------------------------------------------------------------
struct



PURPOSE

Structures FORTRAN programs.

SYNTAX


          +---------+   +--------+
struct ---| +-----+ |---|        |---|
          +-| -s  |-+   +- file -+
           ^| -i  ||
           || -a  ||
           || -b  ||
           || -n  ||
           || -tn ||
           || -cn ||
           || -en ||
           |+-----+|
           +-------+


DESCRIPTION

The struct command translates the FORTRAN program specified by file (standard
input default) into a Ratfor program.  Wherever possible, Ratfor control
constructs 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 (for example
".GT." into ">").  The output is appropriately indented.

Notes:

  1. The struct command knows FORTRAN 66 syntax, but not full FORTRAN 77.

  2. If an input FORTRAN program contains identifiers which are reserved words
    in Ratfor, the structured version of the program is not a valid Ratfor
    program.

  3. The labels generated cannot go above 32767.

  4. If you get a goto without a target, try -e.

FLAGS

The following options may occur in any order.





Processed November 8, 1990        STRUCT(1,C)                                 1





STRUCT(1,C)                 AIX Commands Reference                  STRUCT(1,C)



-s    Input is accepted in standard format, for example comments are specified
      by a c, C, or * in column 1, and continuation lines are specified by a
      nonzero, nonblank character in column 6.  Normally input is in the form
      accepted by f77.

-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/*












Processed November 8, 1990        STRUCT(1,C)                                 2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026