From mwm Tue Jan 10 14:56:38 EST 1989 To: dmg Subject: newer man Dave, This is the latest version of the man page. It includes some things (like -c, -L) which aren't implemented. But it will give you a better picture of the files generated by f2c. f2c -- Fortran 77 to C tranlator ENVIRONMENT VARIABLES f2cdebug -- Holds filename for diagnostic output. This only matters when the debugging switch has been given on the command line. USER FILES .f -- Fortran 77 source files f2c.h -- Standard include file for the resulting C code SYSTEM FILES raw_data -- Holds unordered, untyped initializers generated by DATA statements. This file will be sorted and copied into init_file. init_file -- Holds the untyped initializers generated by Fortran DATA statements. This is zeroed for each function in the input. c_functions -- Holds all translated functions. After the entire input file has been processed, the table of constant values gets prepended to this file; the result is the final product, contained in c_output. c_output -- Holds the translated C code. p1_file -- Contains an intermediate form of the Fortran file. This p1_file.BAK for debugging. p1_file.BAK -- Holds a copy of the p1 file for the previous function. This is useful in debugging because p1_file is zeroed immediately after a function is tranlated. COMMAND LINE OPTIONS -o <filename> -- Write all output to the given filename. If many source files are input, they will be appended to this file (does this make sense? No, make it only useful for one; the default will be to write to infile.c) -w66 -- Suppress warnings about any non-Fortran 66 features used. -w -- Suppress all warnings. -66, -6 -- Generate an error when a generic function (f77 feature) is used. Also generate an error when an extension to Fortran 77 is used (hex/oct/bin constant, automatic/static/double complex types). -d -- Set debug flag -1, -onetrip -- perform each DO loop at least once -I2 -- use shorts for integers, logicals -I4 -- use longs for integers, logicals -Is -- use short subscripts on arrays -U -- don't convert all uppercase to lowercase -u -- make the default variable type undefined -O<#> -- use <#> register variables [NOT IMPLEMENTED] -C -- Check that array subscripts lie within bounds at runtime -Nq -- Set the max number of equivalences -Nx -- Set the max number of externs -Ns -- Set the max number of statement numbers -Nc -- Set the max number of control constructs (loops, IF-THEN-ELSE) -Nn -- Set the max number of identifiers (hash table size) -c -- include the original Fortran in the output. -L -- omit unreferenced labels From mwm Tue Jan 10 14:54:38 EST 1989 To: dmg f2c -- Fortran 77 to C translator SWITCHES May be invoked with the same switches as f77 FILES - Fortran input files are given on the command line; these must have a .f suffix - Generated C code will appear in a file called c_output in the current working directory - Several intermediate files are generated, and not removed. These are: c_functions -- first copy of the generated C code, minus the table of constant values expr_file -- useless, old data init_file -- holds static initializations on a function by function basis p1_file -- function by function intermediate file, only readable using the pfilter.awk script in /usr/mwm/f2c p1_file.BAK -- same as above, useful for debugging since p1_file is always zeroed on termination - Every generated C file begins with '#include "f2c.h"'; this can be found in /usr/mwm/f2c/f2c.h - f2c calls the program /usr/mwm/f2c/f2cpass1 - this is hardcoded right now. ENVIRONMENT - When environment variable f2cdebug is nonempty, debugging output will be written to that filename.