[comp.lang.c++] C++ Class information extraction: info request.

paj@argus.uucp (Paul Johnson) (08/06/90)

Does anyone out there know of any software to extract inheritance
graphs and class usage info from C++ source?  Ideally I would like a
C++ equivalent to the Eiffel short/flat/ancestor utilities.  I know
about the ObjectWorks environment: we have decided against that on
performance grounds.  So: does anyone know of anything?  PD, Copyleft,
commercial, research, whatever.

Thanks in advance,

Paul.

Paul Johnson                               UUCP: <world>!mcvax!ukc!gec-mrc!paj
--------------------------------!-------------------------|-------------------
GEC-Marconi Research is not 	| Telex: 995016 GECRES G  | Tel: +44 245 73331
responsible for my opinions.	| Inet: paj@gec-mrc.co.uk | Fax: +44 245 75244

gwu@nujoizey.tcs.com (George Wu) (08/08/90)

     The InterViews software comes with iclass, a class browser.  You can
get a copy from Stanford.  (The mailing address 

		interviews-request@interviews.stanford.edu

should get a response.  Below is an excerpt of the manual entry.

							George




iclass(1)          InterViews Reference Manual          iclass(1)



NAME
     iclass - class browser

SYNOPSIS
     iclass [-r] [-v] path [path...]
DESCRIPTION
     Iclass is a simple class  browser  that  lets  you  navigate
     through  C++  class hierarchies and view the definition of a
     particular  class.   You  can  select  classes  from   three
     browsers:  the  first shows a list of all known classes; the
     second shows the parents of the selected class, if any;  and
     the  third shows the children of the selected class, if any.
     You can choose a name from  any  of  these  lists  and  tell
     iclass to show the definition of that class, or you can type
     the name of a class explicitly in the  StringEditor  labeled
     ``selected  class.''  The view of the class definition shows
     the source code  from  the  header  file  that  defines  the
     selected class.

COMMANDS
     Iclass provides pull-down menus for issuing  commands.   The
     ``File'' menu includes the following commands:

     Scan Files/Directories...
         Prompt for additional pathnames to scan.

     Quit
         Close the window and exit.

     Commands in the ``Search'' menu include:

     Forward Search...
          Search forward in the class definition for a match with



InterViews        Last change: 29 November 1989                 1






iclass(1)          InterViews Reference Manual          iclass(1)



          a  given  regular  expression, wrapping from the end to
          the beginning of the buffer if necessary.

     Backward Search...
          Search backward for a match with a given regexp.

     Go to line...
          Move the cursor to the beginning  of  the  given  line,
          scrolling the display if necessary.


SEE ALSO
     Regexp(3I),       StringBrowser(3I),       StringEditor(3I),
     TextEditor(3I)

















































InterViews        Last change: 29 November 1989                 3





----
George J Wu                           | gwu@tcs.com or ucbcad!tcs!gwu
Software Engineer                     | 2121 Allston Way, Berkeley, CA, 94704
Teknekron Communications Systems, Inc.| (415) 649-3752

ekberg@nomad.csc.ti.com (Tom Ekberg) (08/11/90)

Paul Johnson writes:
 > Does anyone out there know of any software to extract inheritance
 > graphs and class usage info from C++ source?  Ideally I would like a
 > C++ equivalent to the Eiffel short/flat/ancestor utilities.  I know
 > about the ObjectWorks environment: we have decided against that on
 > performance grounds.  So: does anyone know of anything?  PD, Copyleft,
 > commercial, research, whatever.

I made a rather trivial modification to the InterViews iclass program to have
it dump out the data it obtains on the class hierarchy.  That is, idraw, which
is freely available from Stanford University, takes a set of directories as
arguments and scans through them looking for class definitions.  It places this
information in its own data structures so one can browse through them easily.
You could modify this program yourself to do whatever you want to do with the
class information it obtains.

  -- tom (aisle C-4Q), ekberg@csc.ti.com

garnett@shera.bellcore.com (Michael Garnett) (08/14/90)

In article <EKBERG.90Aug10135249@nomad.csc.ti.com>,
ekberg@nomad.csc.ti.com (Tom Ekberg) writes:
...
|> That is, idraw, which
|> is freely available from Stanford University, 
...

How does one obtain idraw?

   tanx,
   Michael

ekberg@nomad.csc.ti.com (Tom Ekberg) (08/16/90)

 > |> That is, idraw, which
 > |> is freely available from Stanford University, 

I have typed idraw so often I typed it when I meant to type iclass.  Anyway,
both idraw and iclass are part of the InterViews X toolkit which is available
via ftp from 

	interviews.stanford.edu    36.22.0.175    

It is also on the X11R4 distribution tape.

The idraw program is an object-oriented graphics editor that supports color,
multiple fonts and many other features.  It is my graphics editor of choice.

  -- tom (aisle C-4Q), ekberg@csc.ti.com

noren@dinl.uucp (Charles Noren) (08/16/90)

In article <1990Aug15.084512@shera.bellcore.com> garnett@thumper.bellcore.com writes:
>How does one obtain idraw?

By anonymous FTP at [36.22.0.175] or [36.22.0.14] and getting
the InterViews X toolkit.


-- 
Chuck Noren
NET:     dinl!noren@ncar.ucar.edu
US-MAIL: Martin Marietta I&CS, MS XL8058, P.O. Box 1260,
         Denver, CO 80201-1260
Phone:   (303) 971-7930