J.7 At Clauses
Syntax
1
at_clause ::= for direct_name use at expression;
Static Semantics
2
An at_clause of the form
“for x use at y;” is equivalent to an attribute_definition_clause
of the form “for x'Address use y;”.
2.a
Reason: The preferred syntax for specifying
the address of an entity is an attribute_definition_clause
specifying the Address attribute. Therefore, the special-purpose at_clause
syntax is now obsolete.
2.b
The above equivalence implies, for example,
that only one at_clause is allowed for a given
entity. Similarly, it is illegal to give both an at_clause
and an attribute_definition_clause specifying
the Address attribute.
Extensions to Ada 83
2.c
{
extensions to Ada 83}
We
now allow to define the address of an entity using an
attribute_definition_clause.
This is because Ada 83's
at_clause is so hard
to remember: programmers often tend to write “for X'Address use...;”.
Wording Changes from Ada 83
2.d
Ada 83's address_clause
is now called an at_clause to avoid confusion
with the new term “Address clause” (that is, an attribute_definition_clause
for the Address attribute).