Rev 2 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<!-- Crown Copyright (c) 1998 -->
<HTML>
<HEAD>
<TITLE>TDF Specification, Issue 4.0 </TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#400080" ALINK="#FF0000">
<H1>TDF Specification, Issue 4.0</H1>
<H3>January 1998</H3>
<A HREF="spec4.html"><IMG SRC="../images/next.gif" ALT="next section"></A>
<IMG SRC="../images/no_prev.gif" ALT="previous section">
<IMG SRC="../images/no_top.gif" ALT="current document">
<A HREF="../index.html"><IMG SRC="../images/home.gif" ALT="TenDRA home page">
</A>
<A HREF="spec12.html"><IMG SRC="../images/index.gif" ALT="document index"></A>
<P>
<HR>
<DL>
<DT><A HREF="#intro">Preface</A><DD>
<DT><A HREF="spec4.html"><B>1</B> - Introduction</A><DD>
<DT><A HREF="spec5.html"><B>2</B> - Structure of TDF</A><DD>
<DT><A HREF="spec6.html"><B>3</B> - Describing the Structure</A><DD>
<DT><A HREF="spec7.html"><B>4</B> - Installer Behaviour</A><DD>
<DT><A HREF="spec8.html"><B>5</B> - Specification of TDF Constructs</A><DD>
<DT><A HREF="spec9.html"><B>6</B> - Supplementary UNIT</A><DD>
<DT><A HREF="spec10.html"><B>7</B> - Notes</A><DD>
<DT><A HREF="spec11.html"><B>8</B> - The bit encoding of TDF</A><DD>
<DT><A HREF="spec12.html">Index</A><DD>
</DL>
<HR>
<H1><A NAME="intro">Preface</A></H1>
<P>
This is Issue 4.0 of the TDF Specification. TDF version 4.0 is not
bitwise compatible with earlier versions.
<P>
<H2>Major changes from Issue 3.1</H2>
<P>
A new <CODE>SORT</CODE> for <CODE>STRING</CODE> is introduced having
the same relationship to <CODE>TDFSTRING</CODE> as <CODE>BOOL</CODE>
has to <CODE>TDFBOOL</CODE>. This is used in place of <CODE>TDFSTRING</CODE>
in various 3.1 constructions.
<P>
They are also used in modified tag and token definitions and declarations
to provide extra consistency checks in the use of these tags or tokens,
and also may be used as names external to the TDF system. For example,
the signature of <I>make_id_tagdec</I> is now:
<PRE>
<I>t_intro</I>: TDFINT
<I>acc</I>: OPTION(ACCESS)
<I>signature</I>: OPTION(STRING)
<I>x</I>: SHAPE
-> TAGDEC
</PRE>
A new <CODE>EXP</CODE> constructor, <I>initial_value</I>, is introduced
to allow dynamic initialisation of global tags.
<P>
These changes arise mainly from requirements of C++, but are clearly
applicable elsewhere.
<P>
Magic numbers are introduced at the start of files containing TDF
bitstream information.
<P>
The version 3.1 constructor <I>set_stack_limit</I> has had to be modified
in the light of experience with platforms with ABIs which require
upward-growing stacks or use disjoint frame stacks and alloca stacks.
<P>
Various other minor changes have been made to elucidate some rather
pathological cases, e.g. <I>make_nof</I> must have at least one element.
Also there are some cosmetic changes to improve consistency, e.g.
the order of the arguments of <I>token</I> are now consistent with
<I>token_definition</I>.
<P>
<H2>Notes on Revision 1</H2>
<P>
This Revision 1 of Issue 4.0 incorporates a number of corrections
which have arisen where inconsistency or impracticability became evident
when validating the OSF Research Institute's AVS (ANDF Validation
Suite). Apart from minor textual corrections, the changes are:
<UL>
<LI>Use of installer-defined <CODE>TOKEN</CODE>s for accessing variable
parameter lists - see the companion document
<A HREF="register.html">TDF Token Register (Revision 1)</A>.<P>
<LI>Tolerance of overflow necessary to allow simple implementation
of complex multiply and divide.<P>
<LI>Modified constraints on the arguments of <I>shift_left</I>,
<I>shift_right</I>, <I>rotate_left</I>, <I>rotate_right</I>,
<I>make_dynamic_callees</I>, <I>make_var_tagdec</I>, <I>make_tokdec</I>,
<I>make_tokdef</I>, and <I>user_info</I>.<P>
<LI>Modified constant evaluation constraints with respect to <I>env_size</I>
and <I>env_offset</I>.<P>
<LI><I>chain_extern</I> no longer supported.
</UL>
<P>
Changes under consideration but not included in Issue 4.0:
<UL>
<LI>Tokenisation of the various LIST constructs.<P>
<LI>Inclusion of the specification of run-time diagnostic information
in the main specification. This is currently given as an appendix,
as it it is less mature than the main specification.<P>
</UL>
<P>
<HR>
<P><I>Part of the <A HREF="../index.html">TenDRA Web</A>.<BR>Crown
Copyright © 1998.</I></P>
</BODY>
</HTML>