Annotation of researchv10dc/man/mana/struct.1, revision 1.1.1.1

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

unix.superglobalmegacorp.com

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