26 - The Specialized Annexes
Published online by Cambridge University Press: 05 July 2014
Summary
This chapter contains a survey of the scope of the six specialized annexes. These annexes are optional and many implementations will not support them in full. Validation of an Ada compiler will state which of the annexes, if any, is supported. A compiler which is not validated for an annex may provide partial support for that annex but if it does the material must conform to the annex.
It is a general principle that the annexes contain no new syntax but only additional packages, attributes, aspects and pragmas. They are thus not intrinsically hard to understand especially if the reader is familiar with the application area concerned. We thus briefly catalogue the principles and main facilities with just a few examples and refer the reader to the ARM for the full details. But note that some of the more interesting tasking features were described in Chapter 22.
The annexes are generally independent but the Real-Time Systems annex requires that the Systems Programming annex be supported.
Systems Programming
This annex covers access to machine code, interrupt handling, some extra requirements on representations and preelaboration, a pragma for discarding names at run time, the pragmas for shared variables and packages for general task identification, per task attributes and the detection of task termination.
Interrupt handling is important. The general idea is that an interrupt handler is provided by a parameterless protected procedure which is called by some mythical external task.
- Type
- Chapter
- Information
- Programming in Ada 2012 , pp. 807 - 822Publisher: Cambridge University PressPrint publication year: 2014