CDOC or CCALL analyze user 'C' and 'C++' programs, and document the Caller/Called function hierarchy.
Note that the program elements that CCALL processes are not just functions, but also
macros with parameters (pseudo-functions) and C++ class methods. Various reports/formats are
produced, a few sample reports (for "EXAMPLE.C") are:
[return to HomePage Contents] [backup to CCALL]

It is possible to document what functions are in the two "example" files by selecting the
CDOC or CCALL Function-versus-File Table-Of-Contents report. This will yield a file
"EXAMPLE.TOC" containing the following:
File vs Function Table-of-Contents
**********************************
fahren 6 EXAMPLE1.c
main 14 EXAMPLE.C
prt_line 18 EXAMPLE1.c
This shows that the file "EXAMPLE.C" contains the function "main" beginning at line 14,
and that file "EXAMPLE1.C" contains the functions "fahren" and "prt_line" each beginning
at lines 6 and 18 respectively.
[return to HomePage Contents] [backup to CCALL]

A SUMMARY of the "Calling-Hierarchy" of the functions can be visually shown with the
CDOC or CCALL tree-diagram report. This will yield a file "EXAMPLE.TRE" containing the following:
Defined Functions, SUMMARY Graphic TREEs
****************************************
14 EXAMPLE.C 1 main
|
6 EXAMPLE1.C 2 |->fahren
|
18 EXAMPLE1.C 3 |->prt_line
4 | |..printf
5 |..printf exit
SUMMARY Graphic TREEs Function-versus-line index
************************************************
2 fahren
1 main
3 prt_line
Thus "main" (at line 14 of file EXAMPLE.C) calls defined functions "fahren" and
"prt_line" (found at lines 6 and 18 of file "EXAMPLE1.C") and calls external functions
"printf" and "exit". Also, "prt_line" calls the external function "printf". The
tree-diagram is followed by a function-vs-line index which helps the user find the
first occurrence of any function in the tree-diagram.
[return to HomePage Contents] [backup to CCALL]

The calling/called function tree can also be graphically viewed
in various formats using our java or WebBrowser based javTREE program:
[return to HomePage Contents] [backup to CCALL]

CDOC or CCALL can also produce a reverse tree chart showing for each function
the possible calling paths to get to it:
Defined Functions, REVERSE Graphic TREEs (of CALLER flow)
*********************************************************
0 1 exit
|
14 EXAMPLE.C 2 |<-main
6 EXAMPLE1.C 3 fahren
14 EXAMPLE.C 4 |<-main { 2 }
0 5 printf
14 EXAMPLE.C 6 |<-main { 2 }
|
18 EXAMPLE1.C 7 |<-prt_line
14 EXAMPLE.C 8 | |<-main { 2 }
[return to HomePage Contents] [backup to CCALL]

The interaction between functions in the example files can be summarized.
The CDOC or CCALL caller/called FUNCTION SUMMARY alphabetically lists all the
source code defined functions, and for each defined function it lists who that function
is called by, and who it calls, and also summarizes external functions called:
Defined (Internal) Functions, Function SUMMARY(CALLS/USERs)
***********************************************************
fahren USERS: main
fahren CALLS:
-----------------------------------------------------
main USERS:
main CALLS: printf fahren prt_line exit
-----------------------------------------------------
prt_line USERS: main main
prt_line CALLS: printf
Undefined (External) Functions, Function SUMMARY (of USERs)
***********************************************************
------------------------------------------------------
exit USERS: main
------------------------------------------------------
printf USERS: main prt_line
------------------------------------------------------
[return to HomePage Contents] [backup to CCALL]

The CDOC or CCALL caller/called FUNCTION XREF alphabetically lists all the source code
defined functions, and in addition it cross-references (on a function and line number basis)
who that function is used by, and who it calls:
Defined (Internal) Functions, Function XREF(CALLS/USERs)
********************************************************
fahren USERS: 25 main
fahren CALLS:
-----------------------------------------------------
main USERS:
main CALLS: 20 printf 25 fahren 27 prt_line
30 prt_line 32 exit
-----------------------------------------------------
prt_line USERS: 27 main 30 main
prt_line CALLS: 22 printf 24 printf 25 printf
26 print
[return to HomePage Contents] [backup to CCALL]
[next document CCMT]

SoftWare BlackSmiths Inc, 6064 St Ives Way, Mississauga ON, Canada L5N-4M1
WWW = http://www.swbs.com
eMail = email@swbs.com
Voice/Fax = (905)-858-4466
You are the
visitor to this page. We just reset our hit-counter aug2001
MAIN WEBPAGE INDEX: (back to the main index).