Documentation

PreviousNext

Each Eiffel library or tool should come with some documentation to be placed in $GOBO/doc/[library-or-tool-name]. Documentation should be written in American English. It is possible to provide the documentation in other languages (French, Spanish, Dutch, German, ...), but it should at least be available in American English.

The format of the documentation is XML using the DocBook schema. There is a free book, DocBook: The Definitive Guide, that explains DocBook very clearly.

Graphviz could probably be used to generate class inheritance graphs. Graphiz is an open source graph drawing software.

For example, with the following list.dot file:

digraph G {
	edge [dir=back, color=maroon];
	node [height=0.35, fontsize=8, style=filled, color=paleturquoise3];

	ds_list [label="DS_LIST*"];
	ds_linked_list [label="DS_LINKED_LIST"];
	ds_bilinked_list [label="DS_BILINKED_LIST"];
	ds_arrayed_list [label="DS_ARRAYED_LIST"];

	ds_list -> ds_linked_list -> ds_bilinked_list;
	ds_list -> ds_arrayed_list;
}
  

I managed to generate a list.gif file similar to those used in the existing Gobo Eiffel documentation with the command-line:

dot -Tgif -o list.gif list.dot
  

I don't know yet how to simulate the client relationship double-arrow with graphviz though.