SF3 1L "10 August 1986"

Table of contents


sf3 - a preprocessor for the structured FORTRAN language SFTRAN3


sf3 [-c] [-d] [-f] [-h] [-i:num] [-k] [-l] [-m:num] [-n] [-p] [-r] [-w:num] file1 [file2, ...]


Sf3 assumes that the file file*.sf3 contains code written in SFTRAN3, a structured FORTRAN-like language (if a filename has no extension, .sf3 is assumed). FORTRAN code is produced and placed in file*.f. A log file is placed in file*.sfl. If option -f is employed, object (file*.o) files are also produced. File dates and times are compared to determine whether to preprocess the files file*.sf3 or simply to run the f77 compiler (this action may be overriden by the -r option).

The global variables SF3FLAGS and FFLAGS may be used to provide switches for sf3 and f77 as used inside sf3. In addition, if the file sf3.opt 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 sf3.opt file.

This program is distributed with the <PLOT79> system.


produce CDC-style code for READ/WRITE END and ERR parameters.
debug; embed SFTRAN3 code as comments in FORTRAN code output.
invoke the Fortran compiler on the output *.f files; compiler options may be supplied in the FFLAGS global variable.
display a help file and terminate immediately.
set structure indentation to num (0 to 9).
keep *.f files after a successful compilation. By default, they are deleted. If compilation fails, they are still preserved.
set the LINEUP option which connects structure begin/end with dotted lines in the *.sfl files.
set maximum lines per page to num (suggested: 58 for 6 lpi and 80 for 8 lpi); ignored when prettyprinting.
inhibit production of *.sfl files.
prettyprinted source code sent to *.sfl files instead of a normal listing.
reprocess everything, even if *.f or *.o files are newer than .sf3 files.
set *.sfl file line width to num (72 to 120).


The following would take the files form the current directory matching the patterns a*.sf3 and *bar*.sf3, produce FORTRAN code files, invoke f77 to produce object files, produce log files of 72 column width, and retain the FORTRAN files.

sf3  -w:72  -k  -f  a*.sf3  *bar*.sf3


files required to make sf3 (includes executable file)
shell script
various environment definitions, an appropriate subset of which should be placed in the user's .cshrc or .profile file


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)

SFTRAN/3 Installation Guide. Nelson H. F. Beebe. 1980.

SFTRAN3 Programmer's Reference Manual (Jet Propulsion Laboratory Document no. 1846-98, Dec. 1, 1978).


Nelson H. F. Beebe, Ph.D.

Center for Scientific Computing

South Physics Building

University of Utah

Salt Lake City, UT 84112

Tel: (801) 581-5254

(Manual page by R. P. C. Rodgers, Computer Applications in Laboratory Medicine Project, UCSF, San Francisco, CA 94143).