[ Home Page ] [ Eiffel Archive ] [ Tools for Eiffel Developers ]

Arc de Triomphe clipart (2486 bytes)EiffelGraph visualization tool


Written by Jan Willamowius

eg_linux.tar.zip (40,153 bytes) - Linux binaries
eg_sunos.tar.zip (108,628 bytes) - SunOS 4.x binaries


Licensing

THIS SOFTWARE IS PROVIDED AS IS. IT PROBABLY STILL CONTAINS BUGS. YOU MAY USE IT FOR NON-COMMERCIAL PURPOSES FREE OF CHARGE, AS LONG AS IT IS LEFT UNCHANGED. COMMERCIAL USE REQUIRES PERMISSION FROM THE AUTHOR.

(c) Jan Willamowius, 1995

Overview

EiffelGraph can be used to visualize the structure of Eiffel 3 software. It produces a graph description that can be viewed with packages like VCG (freely available form ftp.cs.uni-sb.de in /pub/graphics/vcg) or Edge.

Usage

EiffelGraph [-v] [-i] [-u] [sourcefiles]

The default action is to produce a graph that visualizes the inheritance and usage relations found in the sourcefiles.

Options

-v show version and author
-i don't include inheritance relations
-u don't include usage relations

The output is always sent to stdout. Use it as:

EiffelGraph *.e > gr1.vcg

Inheritance from ANY is always reported. To remove it (to get a more readable graph) use grep eg.

EiffelGraph *.e | grep -v any > gr2.vcg

The usage relation doesn't take dynamic binding into account and therefor is not of too much use. It reads the sourcefiles and lists the types of all features. It doesn't even try to catch any polymorphic assignments and their results. Also it doesn't look at the types of parameters passed to features or at local declarations. (This is due to a restriction in the parser, it might change in the future.)

EiffelGraph is passed on a fuzzy parser that is intended to be the back-end of an Eiffel browser. It tries to extract as much information as possible from the source code and tries to ignore all the errors that might be in the source code. The parser is still pretty new, so I'm very much interested in source fragments that it is _not_ able to parse correctly.

To be compatible with edge I had to remove a VCG feature that allowed a view-time selection of what relations to show. This may return as commandline option in a later version.

EiffelGraph is distributed as binary only at this point in time. Binaries are available for Linux and SunOS 4.x.

Please send feedback and bug reports to jan@janhh.shnet.org.

Author

Jan Willamowius
Nienredder 6
22527 Hamburg

[ Home Page ] [ Eiffel Archive ] [ Tools for Eiffel Developers ]