Ada Programming/Libraries/System

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Ada. Time-tested, safe and secure.


The System package is a standard library package provided with each Ada implementation. It includes implementation and system configuration-dependent definitions. The System package contains a standard set of language-defined (but implementation-dependent) types and named numbers.


  • Name
  • Address
  • Priority (also Interrupt_Priority and Any_Priority since Ada 95)
  • Bit_Order (since Ada 95)


The following named numbers may be set by pragmas. These pragmas may only be used at the start of compilation:

  • System_Name
  • Storage_Unit
  • Memory_Size

The following named numbers are set by the implementation:

  • Null_Address (since Ada 95)
  • Default_Priority (since Ada 95)
  • Default_Bit_Order (since Ada 95)
  • MIN_INT — the smallest value of all predefined integer types (negative).
  • MAX_INT — the largest value of all predefined integer types (positive).
  • MAX_BINARY_MODULUS — the largest power of allowed as the modulus for modular types.
  • MAX_NONBINARY_MODULUS — the largest value allowed as the modulus for modular types.
  • MAX_BASE_DIGITS — the largest number of significant decimal digits in a floating point declaration.
  • MAX_DIGITS — the largest number of significant decimal digits in a floating point declaration without a range specification. This value is at most as large as the previous one.
  • MAX_MANTISSA — the largest possible number of binary digits in the mantissa of fixed point values.
  • FINE_DELTA — The smallest delta allowed in a fixed point value (given a range constraint of -1.0 to 1.0).
  • TICK — the clock period (in seconds).

Child packages[edit]

Standard System packages[edit]

The six untagged System packages are from the ISO/IEC 8652:1995(E) standard.

(Ada 20012)
This package is available since Ada 2012.

GNAT System packages[edit]

The following 200 odd packages form the GNAT runtime environment. They are mentioned here as a reference for advanced users. Normal GNAT users should ignore them because they are internal units of the runtime system.

See also[edit]


Ada 83 Reference Manual[edit]

Ada 95 Reference Manual[edit]

Ada 2005 Reference Manual[edit]