2 |
7u83 |
1 |
<!-- Crown Copyright (c) 1998 -->
|
|
|
2 |
<HTML>
|
|
|
3 |
<HEAD>
|
|
|
4 |
<TITLE>Installer Behaviour</TITLE>
|
|
|
5 |
</HEAD>
|
|
|
6 |
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#400080" ALINK="#FF0000">
|
|
|
7 |
<H1><A NAME=S10>TDF Specification, Issue 4.0</A></H1>
|
|
|
8 |
<H3>January 1998</H3>
|
|
|
9 |
<A HREF="spec8.html"><IMG SRC="../images/next.gif" ALT="next section"></A>
|
|
|
10 |
<A HREF="spec6.html"><IMG SRC="../images/prev.gif" ALT="previous section"></A>
|
|
|
11 |
<A HREF="spec1.html"><IMG SRC="../images/top.gif" ALT="current document"></A>
|
|
|
12 |
<A HREF="../index.html"><IMG SRC="../images/home.gif" ALT="TenDRA home page">
|
|
|
13 |
</A>
|
|
|
14 |
<A HREF="spec12.html"><IMG SRC="../images/index.gif" ALT="document index"></A>
|
|
|
15 |
<P>
|
|
|
16 |
<HR>
|
|
|
17 |
<DL>
|
|
|
18 |
<DT><A HREF="#S11"><B>4.1</B> - Definition of terms</A><DD>
|
|
|
19 |
<DT><A HREF="#S12"><B>4.2</B> - Properties of Installers</A><DD>
|
|
|
20 |
</DL>
|
|
|
21 |
<HR>
|
|
|
22 |
<H1>4. Installer Behaviour</H1>
|
|
|
23 |
<A NAME=S11>
|
|
|
24 |
<H2>4.1. Definition of terms</H2>
|
|
|
25 |
In this document the behaviour of TDF installers is described in a
|
|
|
26 |
precise manner. Certain words are used with very specific meanings.
|
|
|
27 |
These are:
|
|
|
28 |
<UL>
|
|
|
29 |
<LI>"undefined": means that installers can perform any action,
|
|
|
30 |
including refusing to translate the program. It can produce code with
|
|
|
31 |
any effect, meaningful or meaningless.<P>
|
|
|
32 |
<LI>"shall": when the phrase "<I>P</I> shall be done"
|
|
|
33 |
(or similar phrases involving "shall") is used, every installer
|
|
|
34 |
must perform <I>P</I>.<P>
|
|
|
35 |
<LI>"should": when the phrase "<I>P</I> should be done"
|
|
|
36 |
(or similar phrase involving "should") is used, installers
|
|
|
37 |
are advised to perform <I>P</I>, and producer writers may assume it
|
|
|
38 |
will be done if possible. This usage generally relates to optimisations
|
|
|
39 |
which are recommended.<P>
|
|
|
40 |
<LI>"will": when the phrase "<I>P</I> will be true"
|
|
|
41 |
(or similar phrases involving "will") is used to describe
|
|
|
42 |
the composition of a TDF construct, the installer may assume that
|
|
|
43 |
<I>P</I> holds without having to check it. If, in fact, a producer
|
|
|
44 |
has produced TDF for which <I>P</I> does not hold, the effect is undefined.<P>
|
|
|
45 |
<LI>"target-defined": means that behaviour will be defined,
|
|
|
46 |
but that it varies from one target machine to another. Each target
|
|
|
47 |
installer shall define everything which is said to be "target-defined".
|
|
|
48 |
</UL>
|
|
|
49 |
<P>
|
|
|
50 |
|
|
|
51 |
<A NAME=S12>
|
|
|
52 |
<H2>4.2. Properties of Installers</H2>
|
|
|
53 |
All installers must implement all of the constructions of TDF. There
|
|
|
54 |
are some constructions where the installers may impose limits on the
|
|
|
55 |
ranges of values which are implemented. In these cases the description
|
|
|
56 |
of the installer must specify these limits.
|
|
|
57 |
<P>
|
|
|
58 |
Installers are not expected to check that the TDF they are processing
|
|
|
59 |
is well-formed, nor that undefined constructs are absent. If the TDF
|
|
|
60 |
is not well-formed any effect is permitted.
|
|
|
61 |
<P>
|
|
|
62 |
Installers shall only implement optimisations which are correct in
|
|
|
63 |
all circumstances. This correctness can only be shown by demonstrating
|
|
|
64 |
the equivalence of the transformed program, from equivalences deducible
|
|
|
65 |
from this specification or from the ordinary laws of arithmetic. No
|
|
|
66 |
statements are made in this specification of the form "such and
|
|
|
67 |
such an optimisation is permitted".
|
|
|
68 |
<P>
|
|
|
69 |
<I>Fortran90 has a notion of mathematical equivalence which is not
|
|
|
70 |
the same as TDF equivalence. It can be applied to transform programs
|
|
|
71 |
provided parentheses in the text are not crossed. TDF does not acknowledge
|
|
|
72 |
this concept. Such transformations would have to be applied in a context
|
|
|
73 |
where the permitted changes are known.</I>
|
|
|
74 |
<P>
|
|
|
75 |
<HR>
|
|
|
76 |
<P><I>Part of the <A HREF="../index.html">TenDRA Web</A>.<BR>Crown
|
|
|
77 |
Copyright © 1998.</I></P>
|
|
|
78 |
</BODY>
|
|
|
79 |
</HTML>
|