Annotation of cci/usr/src/man/man1/struct.1, revision 1.1.1.1

1.1       root        1: .TH STRUCT 1  "18 January 1983"
                      2: .SH NAME
                      3: struct \- structure Fortran programs
                      4: .SH SYNOPSIS
                      5: .B struct
                      6: [ option ] ...
                      7: file
                      8: .SH DESCRIPTION
                      9: .LP
                     10: .I Struct
                     11: translates the Fortran program specified by
                     12: .I file
                     13: (standard input default)
                     14: into a Ratfor program.
                     15: Wherever possible, Ratfor control constructs
                     16: replace the original Fortran.
                     17: Statement numbers appear only where still necessary.
                     18: Cosmetic changes are made, including changing Hollerith strings
                     19: into quoted strings
                     20: and relational operators into symbols (.e.g. ".GT." into ">").
                     21: The output is appropriately indented.
                     22: .PP
                     23: The following options may occur in any order.
                     24: .TP
                     25: .B  \-s
                     26: Input is accepted in standard format, i.e.
                     27: comments are specified by a c, C, or * in column 1, and continuation lines
                     28: are specified by a nonzero, nonblank character in column 6.
                     29: Normally input is in the form accepted by 
                     30: .IR f77 (1)
                     31: .TP
                     32: .B  \-i
                     33: Do not turn computed goto statements into
                     34: switches.
                     35: (Ratfor does not turn switches back
                     36: into computed goto statements.)
                     37: .TP
                     38: .B  \-a
                     39: Turn sequences of else ifs into a
                     40: non-Ratfor switch of the form
                     41: .IP
                     42: .nf
                     43: .ta 5 7
                     44: switch
                     45:        {       case pred1: code
                     46:                case pred2: code
                     47:                case pred3: code
                     48:                default: code
                     49:        }
                     50: .fi
                     51: .DT
                     52: .IP
                     53: The case predicates are tested in order;
                     54: the code appropriate to only one case is executed.
                     55: This generalized form of switch statement does not
                     56: occur in Ratfor.
                     57: .TP
                     58: .B  \-b
                     59: Generate goto's instead of multilevel break statements.
                     60: .TP
                     61: .B  \-n
                     62: Generate goto's instead of multilevel next statements.
                     63: .TP
                     64: .BI \-t n
                     65: Make
                     66: the nonzero integer
                     67: .I n
                     68: the lowest valued label in the output program
                     69: (default 10).
                     70: .TP
                     71: .BI \-c n
                     72: Increment successive labels
                     73: in the output program
                     74: by the nonzero integer
                     75: .I n
                     76: (default 1).
                     77: .TP
                     78: .BI \-e n
                     79: If 
                     80: .I n
                     81: is 0 (default),
                     82: place code within a loop only if it can
                     83: lead to an iteration of the loop.
                     84: If
                     85: .I n
                     86: is nonzero,
                     87: admit a small code segments to a loop
                     88: if otherwise the loop would have exits to several places including the segment,
                     89: and the segment can be reached only from the loop.
                     90: `Small' is close to, but not equal to, the
                     91: number of statements in the code segment.
                     92: Values of n under 10 are suggested.
                     93: .TP
                     94: .BI \-p n
                     95: If
                     96: .I n
                     97: is 0 (default to 1),
                     98: it parses the code 
                     99: .I n 
                    100: lines at a time.
                    101: It also displays the related 
                    102: procedures that the utility 
                    103: is using to build the appropriate code.
                    104: .TP
                    105: .BI \-d
                    106: If this flag is on, 
                    107: a detail debugging 
                    108: trace is displayed
                    109: and a line by line 
                    110: conversion is listed 
                    111: in an output file 'debug1'.
                    112: .SH FILES
                    113: /tmp/struct*
                    114: .br
                    115: /usr/lib/struct/*
                    116: .SH SEE ALSO
                    117: f77(1)
                    118: .SH BUGS
                    119: Struct knows Fortran 66 syntax, but not full Fortran 77.
                    120: .br
                    121: If an input Fortran program contains identifiers which
                    122: are reserved words in Ratfor, the structured
                    123: version of the program
                    124: will not be a valid Ratfor program.
                    125: .br
                    126: The labels generated cannot go above 32767.
                    127: .br
                    128: If you get a Hollerith string that is 
                    129: longer than than 50 character,
                    130: you will not get the correct 
                    131: quoted string output from struct.
                    132: .br
                    133: If you get a goto without a target, try
                    134: .B \-e .

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.