gnatstub(1) Generate skeletons for Ada package bodies


gnatstub [OPTION]... filename [directory]


gnatstub is an Ada library unit body sample generator. It takes a source file containing the source of an Ada library unit declaration and generates the sample body for this unit in another source file. Sample body is a kind of "minimal", but compilable body for a given unit declaration.

gnatstub is an ASIS application developed on top of the ASIS implementation for GNAT. The important thing to know about gnatstub is that to create a body, gnatstub first compiles the spec to create in your current directory the tree output file (or, simply, a tree file). After creating a body, gnatstub deletes this tree file (the tree file may be kept by setting the corresponding option). Therefore, if you have some other ASIS-based tools built on top of ASIS-for-GNAT, working on the tree files located in your current directory, be aware of possible changes in the set of tree files as a result of using gnatstub.


Replace an existing body file (if any) with a body sample. If destination directory contains a file which should be considered as the body for filename according to the GNAT file name conventions, gnatstub treats this file as a body for filename, and it does not create a sample body if '-f' option is not set;
Put in body sample the comment header from the source of the library unit declaration contained in filename ("comment header" is all the comments preceding the compilation unit).
Put in body sample a sample comment header.
These options have just the same meaning as in calls to gnatgcc or gnatmake. They are used to define the source search path in the call to gnatgcc issued by gnatstub to create the tree file. Note, that to create a body, gnatstub needs a legal Ada unit, therefore if filename depends on some unit located in another directory, '-I' should be used to provide the path to this unit.
(n is a decimal natural number) Sets the indentation level in a body sample to n, '-i0' means "no indentation", the default indentation is 3;
Do not remove the tree file: as default, gnatstub removes from the current directory the tree file created for filename after creating the body sampler. '-k' prevents deleting the tree file.
(n is a decimal positive number) Sets maximum line length in a body sample to n, the default line length is 78;
Quiet mode: gnatstub does not generate a confirmation when a body is successfully created or a message when a body is not required for an argument unit.
Overwrite the existing tree file: if the current directory already contains the file which, according to the GNAT file name rules should be considered as a tree file for filename, gnatstub will refuse to create the tree file needed to create a body sampler, unless '-t' option is set.
Verbose mode: gnatstub generates version information.


gnatstub is free software. It was originally developed by Alexei Kuchumov as a part of collaboration between Software Engineering Laboratory of the Swiss Federal Institute of Technology in Lausanne, Switzerland, in cooperation with the Scientific Research Computer Center of Moscow State University (SRCC MSU), Russia. This work was supported by a grant from the Swiss National Science Foundation, no 7SUPJ048247, funding a project entitled "Development of ASIS for GNAT with industry quality".

Now gnatstub is maintained by Ada Core Technologies, Inc (

This manual page was written by Ludovic Brenta <[email protected]> for the Debian project.


Copyright (c) 1995-1997, Free Software Foundation, Inc.