2.9 Reserved Words
Syntax
1/1
This
paragraph was deleted.
2/3
{
AI95-00284-02}
{
AI95-00395-01}
{
AI05-0091-1}
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. (ignoring upper/lower case distinctions):
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 | some |
|
all | | others | subtype |
|
and | for | out | synchronized |
|
array | function | overriding | |
|
at | | | tagged |
|
| generic | package | task |
|
begin | goto | pragma | terminate |
|
body | | private | then |
|
| if | procedure | type |
|
case | in | protected | |
|
constant | interface | | until |
|
| is | raise | use |
|
declare | | range | |
|
delay | limited | record | when |
|
delta | loop | rem | while |
|
digits | | renames | with |
|
do | mod | requeue | |
|
| | | xor |
|
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.
Incompatibilities With Ada 83
3.a
The following words are
not reserved in Ada 83, but are reserved in Ada 95:
abstract,
aliased,
protected,
requeue,
tagged,
until.
Wording Changes from Ada 83
3.b
Incompatibilities With Ada 95
3.c/2
{
AI95-00284-02}
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.
Wording Changes from Ada 95
3.d/2
{
AI95-00395-01}
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.
Incompatibilities With Ada 2005
3.e/3
{
AI05-0091-1}
Correction: Removed
other_format characters from reserved words
in order to be compatible with the latest Unicode recommendations. This
change can only affect programs written for original Ada 2005, and there
is little reason to put other_format characters
into reserved words in the first place, so there should be very few such
programs.
3.f/3
{
AI05-0176-1}
The following word is not reserved in Ada 2005,
but is reserved in Ada 2012: some. Uses of this word as an identifier
will need to be changed, but we do not expect them to be common.
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe