|  | 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 given in Annex E, the Glossary, for completeness.
  - Source Text A fragment of text
    which is potentially part of the textual representation of a component of
    a Sather program.
- 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.
- 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..
- 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).
- 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.  They are not, however, Pervasive classes as defined below.
- Predefined A term which is
    applied to a class, signature or feature which forms part of the Sather
    language.
- Pervasive identifier An
    identifier of a feature that is itself pre-defined and whose scope covers
    the entirety of classes of a Sather program.
- 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.
- Pervasive class A class which
    forms part of the Sather language and is defined in Section 7 of this document.
- Computer system The combination
    of hardware, firmware and software that enables the execution of a Sather
    program.
- Distributed system The
    combination of computer systems that enables the execution of a
    distributed Sather program.
- 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.
- 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.
    
      NOTE The minimum and maximum values for Required Library classes, such
      as CARD, fall
      into this category. An implementation which claims to conform to this specification must
    document the definition of any feature of the implementation marked by
    this term.
- 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.
- Standard mode A mode of use of an implementation
    which complies with the specifications given in this document.
- Error The source text of a class
    definition is said to be in error if either
    
  
- 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 -
  - Lexical and concrete syntax production rules are given in a sans-serif
    font (eg class type).
- Abstract syntax and other vdm-sl text is given in an italic sans-serif
    font(eg Class Kind).
- Fragments of Sather source text (eg signatures and examples) are given
    in a mono-spaced font (eg const one : CARD :=
  1).
  
    
      | Comments
        or enquiries should be made to Keith Hopper. Page last modified:  Tuesday, 24 October
        2000.
 |  |