 |
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.
- 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.
- 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 signtaures 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: Wednesday, 17 May
2000. |
 |