Home Page ] [ Eiffel Archive ] [ Eiffel Classes and Clusters ]

Arc de Triomphe clipart (2486 bytes)Eiffel Class Tools


Written by Neil Wilson

tool-1_3.tar.zip (60,790 bytes)


Licence

Gnu Library GPL - see file README.LIB

Requirements


SHORT CLASS ABSTRACTION TOOL

Produces an abstract version of the input Eiffel class text files on the standard output.

Usage

short [--abstract] [--eiffel] [--full] [--help] [--parents] [--version]
    [--blank number] [--column number] [--view class_name] [-Vefhp]
    [-b number] [-c number] [-l class_name] [filename ...]

Short outputs the information required by a client to use the class on the standard output.

If no filenames are present the standard input is parsed for an Eiffel class, otherwise each file in turn is parsed and output.

By default the inheritance clause, obsolete features, and routine implementation details are discarded. All assertions, header comments, constant details and class/type modifiers (deferred, expanded, separate) are retained.

Short supports the following options:

-V, --version, -h, --help Displays the 'short' version information and gives the usage help message for the command.
-e, --abstract, --eiffel Produces a fully deferred version of the input class(es) which will compile just like any other class (hopefully :-)
-l <class_name>,  --view <class_name> Produces the output from the point of view of the class <class_name> - the "short form for <class_name>". Special handling for ANY and NONE of course. By default short outputs the "short form for ANY".
-f, --full Produces the short form including all the feature blocks. (Implemented as the "short form for NONE".)
-p, --parents Retains the inheritance clause in the output. The default is to drop it
-b <number>, --blank <number> Indent levels by <number> characters.
-c <number>, --column <number> Width of the output is <number> characters. Should be greater than 20.

Output conforms to layout guidelines for short, such as they are.


LONG CLASS PRETTY-PRINT TOOL

Produces a 'pretty-printed' version of the input Eiffel class text files on the standard output.

Usage

long [--help] [--version] [--blank number] [--column number] [-Vh]
    [-b number] [-c number] [filename ...]

Long formats the class text according to a layout standard.

If no filenames are present the standard input is parsed for an Eiffel class, otherwise each file in turn is parsed and output.

Long supports the following options:

-V, --version, -h, --help Displays the 'long' version information and gives the usage help message for the command.
-b <number>, --blank <number> Indent levels by <number> characters.
-c <number>, --column <number> Width of the output is <number> characters. Should be greater than 20.

Output conforms to the ETL Appendix A layout guidelines


Tool restrictions

Technical Comments

Thanks to David Morgan for the ELEXER Eiffel 3 parser plus his previous versions of short. Both tools are really only a tiny modification of his work.

Comments and suggestions for improvements always welcomed.

Neil Wilson (neil@aldur.demon.co.uk)
6 Spring View
Towngate
Ossett
West Yorkshire
WF5 0QB
UK

Home Page ] [ Eiffel Archive ] [ Eiffel Classes and Clusters ]