MIL-STD-1815 Revision A, February 17, 1983
REFERENCE MANUAL FOR THE ADA PROGRAMMING LANGUAGE
Includes all amendments and changes through Cancellation Notice 1, June 7, 1997
Additional Comments: CNCL NO S/S
This standard specifies the form and meaning of program units written in Ada. Its purpose is to promote the portability of Ada programs to a variety of data processing systems.
This standard specifies:
(a) The form of a program unit written in Ada.
(b) The effect of translating and executing such a program unit.
(c) The manner in which program units may be combined to form Ada programs.
(d) The predefined program units that a conforming implementation must supply.
(e) The permissible variations within the standard, and the manner in which they must be specified.
(f) Those violations of the standard that a conforming implementation is required to detect, and the effect of attempting to translate or execute a program unit containing such violations.
(g) Those violations of the standard that a conforming implementation is not required to detect.
This standard does not specify:
(h) The means whereby a program unit written in Ada is transformed into object code executable by a processor.
(i) The means whereby translation or execution of program units is invoked and the executing units are controlled.
(j) The size or speed of the object code, or the relative execution speed of different language constructs.
(k) The form or contents of any listings produced by implementations; in particular, the form or contents of error or warning messages.
(l) The effect of executing a program unit that contains any violation that a conforming implementation is not required to detect.
(m) The size of a program or program unit that will exceed the capacity of a particular conforming implementation.
Where this standard specifies that a program unit written in Ada has an exact effect, this effect is the operational meaning of the program unit and must be produced by all conforming implementations. Where this standard specifies permissible variations in the effects of constituents of a program unit written in Ada, the operational meaning of the program unit as a whole is understood to be the range of possible effects that result from all these variations, and a conforming implementation is allowed to produce any of these possible effects. Examples of permissible variations are:
• The represented values of fixed or floating numeric quantities, and the results of operations upon them.
• The order of execution of statements in different parallel tasks, in the absence of explicit synchronization.
A conforming implementation is one that:
(a) Correctly translates and executes legal program units written in Ada, provided that they are not so large as to exceed the capacity of the implementation.
(b) Rejects all program units that are so large as to exceed the capacity of the implementation.
(c) Rejects all program units that contain errors whose detection is required by the standard.
(d) Supplies all predefined program units required by the standard.
(e) Contains no variations except where the standard permits.
(f) Specifies all such permitted variations in the manner prescribed by the standard.