---
name: "adactl"
section: "1"
platform: "linux"
package: "adacontrol"
version: "1.21r6b-7"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/adactl"
---

# adactl(1)

Ada rules controller

## NAME

adactl - Ada rules controller

## SYNOPSIS

**adactl** \[*options*\] *unit* \[\[**+**\|**-**\]*unit* \| \[**@**\]*file*\] ... \[**--** *ASIS options*\]

**adactl -h** *rule* ... \| **all** \| **commands** \| **license** \| **list** \| **options** \| **rules** \| **version**

## DESCRIPTION

AdaControl is an Ada rules controller. It is used to control that Ada software meets the requirements of a number of parameterizable rules. It is not intended to supplement checks made by the compiler, but rather to search for particular violations of good-practice rules, or to check that some rules are obeyed project-wide.

Commercial support is available for AdaControl, see file */usr/share/doc/adacontrol/support.txt*. If you plan to use AdaControl for industrial projects, or if you want it to be customized or extended to match your own needs, please contact Adalog at **info@adalog.fr**.

## SPECIAL MODES

- **-C**

  Check rules syntax only.  Accepts -d, -f, -l, -v, -x.

- **-D**

  Generate dependencies.  Accepts -o, -p, -r, -s, -w, -x.

- **-h**

  Prints a general help message.

- **-h** *rule*

  Describe *rule*.

- **-h all**

  Describe all rules.

- **-h commands \| license \| options \| version**

  Describe all commands, the licence (GPL), the options or the version number.

- **-h list**

  List the rules in a format suitable for use inside the GNAT Programming Studio.

- **-h rules**

  List the rules in a normal format.

- **-I**

  Interactive mode.  Accepts all options.

## OPTIONS

- **-d**

  Enable debug mode.

- **-e**

  Treat warnings (Search) as errors (Check)

- **-E**

  Print only errors (Check).

- **-f** *file*

  Use *file* for the specification of rules

- **-F GNAT \| GNAT\_SHORT \| CSV \| CSV\_SHORT \| CSVX \| CSVX\_SHORT \| NONE**

  Choose output format.

- **-G none \| check \| search**

  Select level of fixing commands.

- **-i**

  Ignore local deactivations.

- **-l** *rule*...

  Process with the specified rules; see below.

- **-o** *file*

  Send output to the specified *file*.

- **-p** *file*

  Specify an emacs ada-mode project file (.adp)

- **-r**

  Recursive

- **-s**

  Only process Ada unit specifications

- **-S** *level*

  Produce statistics; *level* is an integer in the range 0 .. 4.

- **-t** *trace\_file*

  Send a trace to the specified file.

- **-T**

  Report execution time of rules.

- **-u**

  Treat all parameters as Ada units

- **-v**

  Enable verbose mode.

- **-w**

  Overwrite output file (works with -o)

- **-x**

  Exit when internal error

## RULES

The following rules are available for the **-l** option:\
    Abnormal\_Function\_Return        Allocators\
    Array\_Declarations              Barrier\_Expressions\
    Case\_Statement                  Characters\
    Declarations                    Default\_Parameter\
    Directly\_Accessed\_Globals       Duplicate\_Initialization\_Calls\
    Entities                        Entity\_Inside\_Exception\
    Exception\_Propagation           Expressions\
    Global\_References               Header\_Comments\
    Improper\_Initialization         Instantiations\
    Insufficient\_Parameters         Local\_Hiding\
    Max\_Blank\_Lines                 Max\_Call\_Depth\
    Max\_Line\_Length                 Max\_Nesting\
    Max\_Size                        Max\_Statement\_Nesting\
    Movable\_Accept\_Statements       Multiple\_Assignments\
    Naming\_Convention               Non\_Static\
    Not\_Elaboration\_Calls           Not\_Selected\_Name\
    No\_Operator\_Usage               Object\_Declarations\
    Other\_Dependencies              Parameter\_Aliasing\
    Parameter\_Declarations          Potentially\_Blocking\_Operations\
    Pragmas                         Reduceable\_Scope\
    Representation\_Clauses          Return\_Type\
    Side\_Effect\_Parameters          Silent\_Exceptions\
    Simplifiable\_Expressions        Simplifiable\_Statements\
    Special\_Comments                Statements\
    Style                           Terminating\_Tasks\
    Type\_Initial\_Values             Uncheckable\
    Units                           Unnecessary\_Use\_Clause\
    Unsafe\_Paired\_Calls             Unsafe\_Unchecked\_Conversion\
    Usage                           Use\_Clauses\
    With\_Clauses

## AUTHOR

AdaControl was developed by Adalog ⟨URL: http://www.adalog.fr ⟩ under contract with Eurocontrol ⟨URL: http://www.eurocontrol.int ⟩. The copyright is jointly owned by Adalog and Eurocontrol.

This manual page was written by Ludovic Brenta \<lbrenta@debian.org\> and is licensed under terms of the GNU General Public License.

## SEE ALSO

AdaControl User's Guide, available in Info, PDF, and HTML in */usr/share/doc/adacontrol*.

AdaControl Programmer's Guide, available in Info, PDF, and HTML in */usr/share/doc/adacontrol*.
