![]() |
Section 6.6.2:
|
Defining a shared, like defining an attribute, is merely a short-hand way of defining one or two features - a reader routine and a writer routine. The way in which these are implemented in any conforming Sather implementation does not change this.
The difference between a shared entity and an attribute lies in the different internal visibility - captured in the invariants to the abstract syntax below.
The two features (reader and writer) which go to make up the attribute short-hand need to be defined as a pair as follows.
This feature needs defining without an implementation, without arguments - just a value, giving the invariant shown below.
Note that the external visibility field needs testing against the concrete syntax specifications in the well-formedness checks.
This feature needs defining with a single statement as implementation, with a single argument, giving the invariant shown below.
Note that the external visibility field needs testing against the concrete syntax specifications in the well-formedness checks.
TO BE DONE
TO BE DONE
![]() |
Specification Index | ![]() |
Language Index | ![]() |
Section 6 Index |
Comments
or enquiries should be made to Keith Hopper. Page last modified: Friday, 26 May 2000. |
![]() |