About This Manual
~~~~~~~~~~~~~~~~~

The *gnatcheck* tool in GNAT can be used to
enforce coding conventions by analyzing Ada source programs with respect to
a set of *rules* supplied at tool invocation.
This manual describes the complete set of predefined rules that
*gnatcheck* can take as input.

**What This Manual Contains**

This manual contains a description of *gnatcheck*, an ASIS-based
utility that checks properties of Ada source files according to a given
set of semantic rules

*

  :ref:`Introduction`, gives the general overview of the *gnatcheck*
  tool

  :ref:`Format_of_the_Report_File`, describes the structure of the report file
  generated by *gnatcheck*

  :ref:`General_gnatcheck_Switches`, describes switches that control the
  general behavior of *gnatcheck*

  :ref:`gnatcheck_Rule_Options`, describes options used to control a set of
  rules to be checked by *gnatcheck*

  :ref:`Adding_the_Results_of_Compiler_Checks_to_gnatcheck_Output`, explains how
  the results of the check performed by the GNAT compiler can be added to the
  report generated by *gnatcheck*

  :ref:`Rule_exemption`, explains how to turn off a rule check for a specified
  fragment of a source file

  :ref:`Predefined_Rules`, contains a description of each predefined
  *gnatcheck* rule, organized into categories.

  :ref:`Example_of_gnatcheck_Usage`, contains a full example of
  *gnatcheck* usage

  :ref:`List_of_Rules`, gives an alphabetized list of all predefined rules, for
  ease of reference.

The name of each rule (the 'rule identifier') denotes the condition that is
detected and flagged by *gnatcheck*.
The rule identifier is used as a parameter of the ``+R`` or ``-R``
switch to *gnatcheck*.

**What You Should Know Before Reading This Manual**

You should be familiar with the Ada language and with the usage of
GNAT in general;
please refer to the GNAT User's Guide.
