2.9 Reserved Words
Syntax
This paragraph
was deleted.
{
AI95-00284-02}
{
AI95-00395-01}
{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.
Discussion: Reserved words have special
meaning in the syntax. In addition, certain reserved words are used as
attribute names.
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 |
|
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
{
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.
Wording Changes from Ada 83
Incompatibilities With Ada 95
{
AI95-00284-02}
{
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.
Wording Changes from Ada 95
{
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.