cxref - cross reference C source files
cxref [ -FSCcfis ] [ -w width ] [files]
Cxref reads the named C source files and produces on the standard output a cross reference
of all the identifiers and constants in the files. Constants are integer constants (12,
0421, 0x1A), floating point constants (123.45, 0.2e-4), string constants ("this is a
string\n"), and character constants ('a', '\033'). Identifiers, character constants, and
string constants are sorted lexicographically, i.e. according to the machine collating
sequence (7-bit ASCII on the Vax or the Pyramid). Integer and floating point constants
are sorted numerically. The trailing 'l' or 'L' on long integer constants will not show
up in the output listing.
If no files are named, cxref reads the standard input. For multiple files, the argument
"-" (a single dash) indicates that the standard input should be read at that point.
If arguments are given, they must come before any file names.
Cxref recognizes the following arguments:
-F Fold case in comparison. By default, case is distinct in comparison of
identifiers and string and character constants. (cxref simply passes the
"-F" option on to sort(1) as "-f".)
-S Cross reference all files separately. The default action is to cross refer-
ence all named files together.
-c Leave character constants out of the cross reference listing.
-f Leave floating point constants out of the cross reference listing.
-i Leave integer constants out of the cross reference listing.
-s Leave string constants out of the cross reference listing.
-C Leave all constants, character, string, integer, and floating point, out of
the cross reference listing. By default, all types of constants are
included in the cross reference.
Make the output be width columns wide. The output width will never be less
than 51 or more than 132 columns. Cxref silently adjusts incorrect settings
to the nearest allowable setting. If no width is specified, the output will
default to 80 columns wide.
Cxref does not include #include files, or expand macro definitions. Files named in
#include lines can be listed on the command line if they should also be cross referenced.
If a quoted string has an escaped newline in it (see ``The C Programming Language'', page
181, or Section 2.5 of the C Reference Manual), it will show up inside the string in the
output listing as \N. This is to make it visible to the programmer, and to keep the vari-
ous filters which Cxref uses to actually do the work from getting terribly confused.
Cxref is best run in the background, with its output redirected into a file or the line
printer spooler lpr(1), since it reads all the named files, using sort(1) as an intermedi-
ate pass. The sorting can take time which the user can probably put to more productive
Systems running UNIX 4.0 and later already have a program named cxref. Therefore, on
those systems, this program should be renamed.
Cxref does not do any formatting on its output (other than to insure that it writes the
proper number of columns), so it should probably be run piping its output into pr(1).
Floating point constants are converted to a common format for sorting, therefore they may
appear in the output in a format different from (but numerically equivalent to) their form
in the original source code.
lex(1), lpr(1), pr(1), sort(1)
temporary files for integer and floating point contstants. Cxref removes these
files when it is through.
School of Information and Computer Science
Georgia Institute of Technology
Atlanta, Geogia 30332
Copyright (c) 1984 by Arnold Robbins. All rights reserved. This program may not be sold,
but may be distributed provided this notice is included.
Georgia Tech CXREF(1)