Subversion Repositories tendra.SVN

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
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>&quot;undefined&quot;: 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>&quot;shall&quot;: when the phrase &quot;<I>P</I> shall be done&quot;
33
(or similar phrases involving &quot;shall&quot;) is used, every installer
34
must perform <I>P</I>.<P>
35
<LI>&quot;should&quot;: when the phrase &quot;<I>P</I> should be done&quot;
36
(or similar phrase involving &quot;should&quot;) 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>&quot;will&quot;: when the phrase &quot;<I>P</I> will be true&quot;
41
(or similar phrases involving &quot;will&quot;) 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>&quot;target-defined&quot;: 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 &quot;target-defined&quot;.
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 &quot;such and
67
such an optimisation is permitted&quot;. 
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 &copy; 1998.</I></P>
78
</BODY>
79
</HTML>