Category : C Source Code
Archive   : C-FLOW.ZIP
Filename : CFLOW.DOC

 
Output of file : CFLOW.DOC contained in archive : C-FLOW.ZIP

CFLOW --
a program to reveal C program structure
by Mark Ellington

| as modified for MS-DOS 2 and C86
| by Larry Steeger

In exploring the many C programs available in the public
domain you may discover that many are poorly commented
| (if at all) and use difficult to decipher program structure.
It may be hard to remember how your own programs work when
they are not fresh in your mind. If you want to change a
module what will happen to other functions that use it,
and which ones are they?

| This program, CFLOW, accepts C source files as input
and generates as output to STDOUT a roughly structured
listing of module (function) declarations and the function
calls within them.

The listing is vertically structured according to sequence,
with each module call encountered (i.e. printf(---)) listed
on a new line. The horizontal structuring is strictly in
accordance with the level of open braces "{" at the time
| the module call is read, and is developed by sending 4 spaces
| for each open level at the time the function call is read.
| A function declaration (where the function and its variables
| are declared) will always be at braces level 0 and will be
| at the left margin. For convenience the module declarations
| are preceded by "**" and include their variable declarations
| preceded by " *".

Nesting without braces, as within a multiple level "if"
construct, is not revealed by CFLOW. Include files are
| supported as are #define macros.

To use CFLOW, simply type in:

"CFLOW FILENAME.EXT"

| Use the complete filename (drive:\pathname and extension).
| The structure listing will be sent to the console.

| Output redirection is supported -- to get a printed listing type:

| "CFLOW FILENAME.EXT >PRT:"

or you can use control-P and send to the console as usual.

To route the listing to a disk file type:

"CFLOW FILENAME.EXT >LISTFILE.EXT"

|

M.S.E.
05/27/84

| Addenda for MS-DOS 2/C86 version:
|
| MS-DOS 2 pathnames may be prefixed to any command line/#include
| file names. The '*' and '?' wildcard characters are also
| supported in command line input file names.
|
| Example: "CFLOW \C\*.C" will generate a CFLOW for all
| files in the \C directory on
| the current default drive
| which have a ".C" file extension.
|
| Several flags have been added in the CI-C86 version:
|
| -l prefix each line with its source
| file line number
|
| -f prefix each line with its source
| file name
|
| -hsystem[,project] prefix[es] for #include file names
| (same as C86 v2.20H flag)
|
| -t use '\t' rather than 4 spaces
| for indentation
|
| -x generate input for CFLOWX utility
|
| L.R.S.
| 05/29/85

|



  3 Responses to “Category : C Source Code
Archive   : C-FLOW.ZIP
Filename : CFLOW.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/