Ada Programming/Libraries/System

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

Ada. Time-tested, safe and secure.
Ada. Time-tested, safe and secure.

Description

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.

Types

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

Constants

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

Standard System packages

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

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

Wikibook

Ada 83 Reference Manual

Ada 95 Reference Manual

Ada 2005 Reference Manual