.TH CFLOW 1 .SH NAME cflow \- generate C flow graph .SH SYNOPSIS .B cflow [ option ] ... file \ ... .SH DESCRIPTION .I cflow analyzes a collection of C, .IR yacc (1), .IR lex (1), assembler and object files and displays (on the standard output) a chart of external references. The .BR \-I , .B \-D and .B \-U options of .IR cc (1) are understood. .PP Each line of output begins with a reference (i.e., .IR line ) number, followed by a suitable number of tabs indicating call level. Then the name of the global (function or variable), a colon and its definition. For information extracted from C source, the definition consists of an abstract type declaration (e.g., .B char *), the name of the source file and the line number where the definition was found. Definitions extracted from object files merely indicate the file name and location counter under which the symbol appeared (e.g., .IR text ). Leading underscores in C-style external names are deleted. .PP Once a definition of a name has been printed, subsequent references to that name contain only the reference number of the line where the definition may be found. For undefined references, a question mark is printed. .PP The graph is printed from the top down. Any argument which is a simple string (has no recognizable suffix) is taken to mean the name of a starting node. .SH EXAMPLES Input file, t.c \fIcflow\fP output .IP .nf int i; 1 main: int(), t.c 4 main(){ 2 f: int(), t.c 10 f(); 3 h: ? g(); 4 i: int, t.c 1 f(); 5 g: ? } f() { i = h(); } .fi .TP cflow printf /lib/libc.a display printf() and everything it refers to .SH "SEE ALSO" cc(1), lint(1), nm(1) .SH FILES /usr/tmp/cf.$$.?