Chapter 1. Language-Related Issues

Table of Contents
1.1. Overview
1.2. Section 2: Lexical Elements
1.3. Section 3: Declarations and Types
1.4. Section 4: Names and Expressions
1.5. Section 5: Statements
1.6. Section 6: Subprograms
1.7. Section 7: Packages
1.8. Section 8: Visibility Rules
1.9. Section 9: Tasks and Synchronization
1.10. Section 10: Program Structure and Compilation Issues
1.11. Section 11: Exceptions
1.12. Section 12: Generic Units
1.13. Section 13: Representation Issues
1.14. Input-Output
1.15. Annex A: Predefined Language Environment
1.16. Annex B: Interface to Other Languages
1.17. Annex C: Systems Programming
1.18. Annex D: Real-Time Systems
1.19. Annex E: Distributed Systems
1.20. Annex F: Information Systems
1.21. Annex G: Numerics
1.22. Annex H: Safety and Security
1.23. Annex J: Obsolescent Features
1.24. Annex K: Language-Defined Attributes
1.25. Annex L: Language-Defined Pragmas

The Ada 95 Reference Manual, ANSI/ISO/IEC-8652:1995, explicitly allows variations between Ada processors in a number of aspects. This chapter describes the language supported by ERC32 Ada and is organized according to the appropriate chapters and annexes of the Ada Manual.

1.1. Overview

ERC32 Ada supports several restricted Ada 95 profiles that prohibit the use of unsafe language features, and which are compatible with the requirements for high-integrity software applications.

With the use of implementation-defined restrictions, ERC32 Ada offers three restricted profiles as follows:

Language features that are always restricted as not supported at all. This means that the compiler and run-time system can be optimized for the safe subsets and unlike unrestricted compilers, need not be hindered by the need to support complex and inefficient features that are not going to be used.

The gain in efficiency is evident in the performance figures, which in the majority of cases are an order of magnitude smaller and faster than competing compilation systems.

The following list gives language features that are always prohibited. The references to sections in this list apply to the Ada 95 Reference Manual. Further details appear in the respective section below: