next up previous index
Next: Parameters for Initialising an Up: EXDR Data Interchange Format Previous: ECLiPSe primitives to read/write   Index

Serialized representation of EXDR terms

The following is the specification of what is actually send over the communication channels. This is all the information needed to create new language mappings for EXDR terms. This definition corresponds to EXDR_VERION 1:

Term            ::=     'V' Version (Integer|Double|String|List
                                            |Nil|Struct|Variable)
Integer         ::=     'I' XDR_int
Double          ::=     'D' XDR_double
String          ::=     'S' Length <byte>*
List            ::=     '[' Term (List|Nil)
Nil             ::=     ']'
Struct          ::=     'F' Arity String Term*
Variable        ::=     '_'
Length          ::=     XDR_int                       // >= 0
Arity           ::=     XDR_int                       // >= 0
Version         ::=     <byte>
XDR_int         ::=     <4 bytes, msb first>
XDR_double      ::=     <8 bytes, ieee double, exponent first>




1999-08-06