Sather Home
        Page

Section 3:
Definitions and Conventions

3.1 Definitions

The definitions given below form a part of this specification. Some of these, as well as additional terms, are also defined in Annex E, the Glossary for completeness.

  1. Source Text A fragment of text which is potentially part of the textual representation of a component of a Sather program.
  2. Class A class is a major component of a Sather program (which is made up of one or more classes). A class defines either abstract signatures (if it is an abstract class) or implementation features if not abstract.
  3. Library A library is a named collection of classes (but see Required Library below) which defines a separate name-space for the classes out of which it is composed..
  4. Library Class A library class is a class that forms part of a library (ie it is not a class written specifically for some application).
  5. Required Library The required library is an un-named library which is defined in Section 8 of this document. All of the classes named in that library are pervasive to a Sather program.
  6. Predefined A term which is applied to a class, signature or feature which forms part of the Sather language.
  7. Pervasive identifier An identifier of a feature that is itself pre-defined and whose scope covers the entirety of classes of a Sather program.
  8. Pervasive name An identifier of an abstract class or iterator that is itself pre-defined and whose scope covers the entirety of classes of a Sather program.
  9. Pervasive class A class which forms part of the Sather language and is defined in Section 7 of this document.
  10. Computer system The combination of hardware, firmware and software that enables the execution of a Sather program.
  11. Distributed system The combination of computer systems that enables the execution of a distributed Sather program.
  12. Implementation The means by which an executable Sather program for a computer system or distributed system is produced from the components of the program source text.
  13. Implementation-defined A term applied to a value which is not defined in this document, but that requires definition before the meaning of a program which relies on that value may be determined. An implementation which claims to conform to this specification must document the definition of any feature of the implementation marked by this term.
  14. Implementation-dependent Any feature of this document which uses the term implementation-dependent indicates that the feature should be provided in an implementation-dependent way and does not necessarily have to be documented by the implementer.
  15. Standard mode A mode of use of an implementation which complies with the specifications given in this document.
  16. Error The source text of a class definition is said to be in error if either
  17. Exception A run-time event that is either in violation of the dynamic semantic rules given in this document or is explicitly raised by some feature of a program.

3.2 Structure of this Document

This document uses both formal notations and natural language text to state its meaning. Such definitions are divided into a lexis (in Section 5) and the following individual components which appear in the definition of each language construct.

3.3 Conventions

The following conventions used in this document are to be interpreted as given below.

3.3.1 Informative Text

The introductory text to any section of this document is in general explanatory rather than defining. It, together with any text given in a NOTE are to be regarded as being for information only.

3.3.2 Typographical Conventions

The following typographical conventions are observed -


Language Index
Comments or enquiries should be made to Keith Hopper.
Page last modified: Wednesday, 17 May 2000.
Produced with Amaya