2/2 {reserved word} The following are the reserved words. Within a program, some or all of the letters of a reserved word may be in upper case, and one or more characters in category other_format may be inserted within or at the end of the reserved word.
2.a Discussion: Reserved words have special meaning in the syntax. In addition, certain reserved words are used as attribute names.
2.b The syntactic category identifier no longer allows reserved words. We have added the few reserved words that are legal explicitly to the syntax for attribute_reference. Allowing identifier to include reserved words has been a source of confusion for some users, and differs from the way they are treated in the C and Pascal language definitions.
abort | else | new | return |
abs | elsif | not | reverse |
abstract | end | null | |
accept | entry | select | |
access | exception | of | separate |
aliased | exit | or | subtype |
all | others | synchronized | |
and | for | out | |
array | function | overriding | tagged |
at | task | ||
generic | package | terminate | |
begin | goto | pragma | then |
body | private | type | |
if | procedure | ||
case | in | protected | until |
constant | interface | use | |
is | raise | ||
declare | range | when | |
delay | limited | record | while |
delta | loop | rem | with |
digits | renames | ||
do | mod | requeue | xor |
NOTES
3 [8] The reserved words appear in lower case boldface in this International Standard, except when used in the designator of an attribute (see §4.1.4). Lower case boldface is also used for a reserved word in a string_literal used as an operator_symbol. This is merely a convention — programs may be written in whatever typeface is desired and available.
3.a {incompatibilities with Ada 83} The following words are not reserved in Ada 83, but are reserved in Ada 95: abstract, aliased, protected, requeue, tagged, until.
3.b The clause entitled “Allowed Replacements of Characters” has been moved to §Annex J, “Obsolescent Features”.
3.c/2 {incompatibilities with Ada 95} The following words are not reserved in Ada 95, but are reserved in Ada 2005: interface, overriding, synchronized. A special allowance is made for pragma Interface (see §J.12). Uses of these words as identifiers will need to be changed, but we do not expect them to be common.
3.d/2 The definition of upper case equivalence has been modified to allow identifiers using all of the characters of ISO 10646. This change has no effect on the character sequences that are reserved words, but does make some unusual sequences of characters illegal.