.TH SF3 1L "10 August 1986"
.SH NAME
sf3 \-  a preprocessor for the structured FORTRAN language SFTRAN3
.SH SYNOPSIS
.B sf3
\fB[-c] [-d] [-f] [-h] [-i:\fP\fInum\fP\fB] [-k] [-l] [-m:\fP\fInum\fP\fB] [-n] [-p] [-r] [-w:\fP\fInum\fP]
\fIfile1\fP [\fIfile2, ...\fP]
.SH DESCRIPTION
.I Sf3
assumes that the file \fIfile*.sf3\fP contains code written in SFTRAN3,
a structured FORTRAN-like language  (if a filename has no extension, \fI.sf3\fP
is assumed).  FORTRAN code is produced and placed in \fIfile*.f\fP.
A log file is placed in \fIfile*.sfl\fP.
If option \fB-f\fP is employed, object (\fIfile*.o\fP) files are also
produced.  File dates and times are compared to determine whether to
preprocess the files \fIfile*.sf3\fP or simply to run the \fIf77\fP compiler
(this action may be overriden by the \fB-r\fP option).
.PP
The global variables SF3FLAGS and FFLAGS may be used to provide
switches for \fIsf3\fP and \fIf77\fP as used inside \fIsf3\fP.
In addition, if the file \fIsf3.opt\fP exists
in the current or HOME directory, its contents will be appended to the
command line.  Since options are scanned from left to
right, SF3FLAGS values will override any provided in the \fIsf3.opt\fP file.
.PP
This program is distributed with the <PLOT79> system.
.SH OPTIONS
.TP
.B \-c
produce CDC-style code for READ/WRITE END and ERR parameters. 
.TP
.B \-d
debug; embed SFTRAN3 code as comments in FORTRAN code output.
.TP
.B \-f
invoke the Fortran compiler on the output \fI*.f\fP files; compiler options
may be supplied in the FFLAGS global variable.
.TP
.B \-h
display a help file and terminate immediately.
.TP
.BI \-i: num
set structure indentation to \fInum\fP (0 to 9).
.TP
.B \-k
keep \fI*.f\fP files after a successful compilation.
By default, they are deleted.  If compilation fails, they are still preserved.
.TP
.B \-l
set the LINEUP option which connects structure begin/end with dotted
lines in the \fI*.sfl\fP files.
.TP
.BI \-m: num
set maximum lines per page to \fInum\fP (suggested: 58 for 6 lpi and 80
for 8 lpi); ignored when prettyprinting.
.TP
.B \-n
inhibit production of \fI*.sfl\fP files.
.TP
.B \-p
prettyprinted source code sent to \fI*.sfl\fP files instead of a normal
listing.
.TP
.B \-r
reprocess everything, even if \fI*.f\fP or \fI*.o\fP files are newer
than \fI.sf3\fP files.
.TP
.BI \-w: num
set \fI*.sfl\fP file line width to \fInum\fP (72 to 120).
.SH EXAMPLE
The following would take the files form the current directory
matching the patterns \fIa*.sf3\fP and \fI*bar*.sf3\fP,
produce FORTRAN code files, invoke \fIf77\fP to produce object files,
produce log files of 72 column width, and retain the FORTRAN files.
.br
sf3\ \ -w:72\ \ -k\ \ -f\ \ a*.sf3\ \ *bar*.sf3
.SH FILES
.TP 2.2i
/usr/local/plot79/sf3dir/*
files required to make \fIsf3\fP (includes executable file)
.TP
/usr/local/plot79/sf3
shell script
.TP
/usr/local/plot79/define
various environment definitions, an appropriate subset of which should be
placed in the user's \fI.cshrc\fP or \fI.profile\fP file
.SH "SEE ALSO"
document (1L), drawit(1L), grapht(1L), graph3t(1L), lptops(1L), pfort(1L),
piechtt(1L), plot79-intro(1L), plot79(1L), pluto(1L), pretty(1L), rdinfo(1L),
slides(1L), tekalw(1L), tkvecs(1L), tmacro(1L), world(1L)
.LP
\fISFTRAN/3 Installation Guide\fP.  Nelson H. F. Beebe.  1980.
.br
\fISFTRAN3 Programmer's Reference Manual\fP (Jet Propulsion Laboratory
Document no. 1846-98, Dec. 1, 1978).
.SH AUTHOR
Nelson H. F. Beebe, Ph.D.
.br
Center for Scientific Computing
.br
South Physics Building
.br
University of Utah
.br
Salt Lake City, UT 84112
.br
Tel: (801) 581-5254
.br
(Manual page by R. P. C. Rodgers, Computer Applications in Laboratory
Medicine Project, UCSF, San Francisco, CA 94143).
