Subversion Repositories tendra.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 7u83 1
<!-- Crown Copyright (c) 1998 -->
2
<HTML>
3
<HEAD>
4
<TITLE>TDF Specification, Issue 4.0 </TITLE>
5
</HEAD>
6
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#400080" ALINK="#FF0000">
7
<H1>TDF Specification, Issue 4.0</H1>
8
<H3>January 1998</H3>
9
<A HREF="spec4.html"><IMG SRC="../images/next.gif" ALT="next section"></A>
10
<IMG SRC="../images/no_prev.gif" ALT="previous section">
11
<IMG SRC="../images/no_top.gif" ALT="current document">
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="#intro">Preface</A><DD>
19
<DT><A HREF="spec4.html"><B>1</B> - Introduction</A><DD>
20
<DT><A HREF="spec5.html"><B>2</B> - Structure of TDF</A><DD>
21
<DT><A HREF="spec6.html"><B>3</B> - Describing the Structure</A><DD>
22
<DT><A HREF="spec7.html"><B>4</B> - Installer Behaviour</A><DD>
23
<DT><A HREF="spec8.html"><B>5</B> - Specification of TDF Constructs</A><DD>
24
<DT><A HREF="spec9.html"><B>6</B> - Supplementary UNIT</A><DD>
25
<DT><A HREF="spec10.html"><B>7</B> - Notes</A><DD>
26
<DT><A HREF="spec11.html"><B>8</B> - The bit encoding of TDF</A><DD>
27
<DT><A HREF="spec12.html">Index</A><DD>
28
</DL>
29
 
30
<HR>
31
<H1><A NAME="intro">Preface</A></H1>
32
<P>
33
This is Issue 4.0 of the TDF Specification. TDF version 4.0 is not
34
bitwise compatible with earlier versions. 
35
<P>
36
 
37
<H2>Major changes from Issue 3.1</H2>
38
<P>
39
A new <CODE>SORT</CODE> for <CODE>STRING</CODE> is introduced having
40
the same relationship to <CODE>TDFSTRING</CODE> as <CODE>BOOL</CODE>
41
has to <CODE>TDFBOOL</CODE>. This is used in place of <CODE>TDFSTRING</CODE>
42
in various 3.1 constructions. 
43
<P>
44
They are also used in modified tag and token definitions and declarations
45
to provide extra consistency checks in the use of these tags or tokens,
46
and also may be used as names external to the TDF system. For example,
47
the signature of <I>make_id_tagdec</I> is now: 
48
<PRE>
49
	<I>t_intro</I>:	TDFINT
50
	<I>acc</I>:		OPTION(ACCESS)
51
	<I>signature</I>:	OPTION(STRING)
52
	<I>x</I>:		SHAPE
53
		   -&gt; TAGDEC
54
</PRE>
55
A new <CODE>EXP</CODE> constructor, <I>initial_value</I>, is introduced
56
to allow dynamic initialisation of global tags. 
57
<P>
58
These changes arise mainly from requirements of C++, but are clearly
59
applicable elsewhere. 
60
<P>
61
Magic numbers are introduced at the start of files containing TDF
62
bitstream information. 
63
<P>
64
The version 3.1 constructor <I>set_stack_limit</I> has had to be modified
65
in the light of experience with platforms with ABIs which require
66
upward-growing stacks or use disjoint frame stacks and alloca stacks.
67
<P>
68
Various other minor changes have been made to elucidate some rather
69
pathological cases, e.g. <I>make_nof</I> must have at least one element.
70
Also there are some cosmetic changes to improve consistency, e.g.
71
the order of the arguments of <I>token</I> are now consistent with
72
<I>token_definition</I>. 
73
<P>
74
 
75
<H2>Notes on Revision 1</H2>
76
<P>
77
This Revision 1 of Issue 4.0 incorporates a number of corrections
78
which have arisen where inconsistency or impracticability became evident
79
when validating the OSF Research Institute's AVS (ANDF Validation
80
Suite).  Apart from minor textual corrections, the changes are: 
81
<UL>
82
<LI>Use of installer-defined <CODE>TOKEN</CODE>s for accessing variable
83
parameter lists - see the companion document 
84
<A HREF="register.html">TDF Token Register (Revision 1)</A>.<P>
85
<LI>Tolerance of overflow necessary to allow simple implementation
86
of complex multiply and divide.<P>
87
<LI>Modified constraints on the arguments of <I>shift_left</I>, 
88
<I>shift_right</I>, <I>rotate_left</I>, <I>rotate_right</I>, 
89
<I>make_dynamic_callees</I>, <I>make_var_tagdec</I>, <I>make_tokdec</I>,
90
<I>make_tokdef</I>, and <I>user_info</I>.<P>
91
<LI>Modified constant evaluation constraints with respect to <I>env_size</I>
92
and <I>env_offset</I>.<P>
93
<LI><I>chain_extern</I> no longer supported. 
94
</UL>
95
<P>
96
Changes under consideration but not included in Issue 4.0: 
97
<UL>
98
<LI>Tokenisation of the various LIST constructs.<P>
99
<LI>Inclusion of the specification of run-time diagnostic information
100
in the main specification. This is currently given as an appendix,
101
as it it is less mature than the main specification.<P>
102
</UL>
103
<P>
104
 
105
<HR>
106
<P><I>Part of the <A HREF="../index.html">TenDRA Web</A>.<BR>Crown
107
Copyright &copy; 1998.</I></P>
108
</BODY>
109
</HTML>