{A format is brought into being by means of a format-text. A format is best regarded as a tree, with a collection at each node and a picture at each tip. In order to avoid violation of the scope restrictions, each node of this tree is, in this Report, packed into a value of mode 'PIECE'. A format is composed of a row of such pieces and the pieces contain pointers to each other in the form of indices selecting from that row. An implementer will doubtless store the tree in a more efficient manner. This is possible because the field-selector of a format is hidden from the user in order that he may not break it open.
Although a format-text may contain ENCLOSED-clauses (in replicators and format-patterns) or units (in general-patterns,) these are not elaborated at this stage but are, rather, turned into routines for subsequent calling as and when they are encountered during formatted transput. Indeed, the elaboration of a format-text does not result in any actions of any significance to the user.}
a) The yield of a format-text F, in an environ E, is a structured value whose only field is a multiple value W, whose mode is 'row of PIECE', composed of a descriptor ((1, n)) and n elements determined as follows:
· a counter i is set to 1;
· F is "transformed" {b}in E into W, using i.
b) A format-text or a collection-list-pack C is "transformed" in an environ E into a multiple value W whose mode is 'row of PIECE', using a counter i, as follows:
· the element of W selected by (i) is a structured value, whose mode is 'PIECE' and whose fields, taken in order, are
· {cp} undefined;
· {count} undefined;
· {bp} undefined;
· {c} a multiple value V whose mode is "row of COLLECTION", having a descriptor ((1,m)), where m is the number of constituent collections of C, and elements determined as follows: For j = 1... m, letting Cj be the j-th constituent collection of C,
· the constituent
pattern P if any and the insertion I of P are elaborated
collaterally;
· the j-th element of V is a structured value, whose mode is 'PICTURE' and whose fields, taken in order are
· {p}; the yield of T, if any, {e, 10.3.4.8.2 , 10.3.4.9.2, 10.3.4.10.2 } and, otherwise, empty.
· {i} the yield of I {d};
· i is increased
by 1;
· I1, REP and I2 are elaborated collaterally;
· the j-th element of V is a structured value whose mode is 'COLLITEM' and whose fields, taken in order, are
· {i1} the yield of I1 {d};
· {rep} the yield of REP {c};
· {p} i;
· {i2} the yield of I2;
· P is transformed in E into W, using i.
c) The yield, in an environ E, of a NEST-UNSUPPRESSETY-replicator R {10.3.4.1.1.g, h } is a routine whose mode is 'procedure yielding integral', composed of a procedure-yielding-integral-NEST-routine-text whose unit is U, together with the environ necessary {7.2.2.c } for U in E, where U is determined as follows:
· U is a
new unit akin {1.1.3.2.k
} to C;
· U is a
new unit akin to D;
· U is a
new unit akin to a fixed-point-numeral which has an intrinsic
value {8.1.1.2
} of 1.
d) The yield of an insertion I {10.3.4.1.1.d } is a multiple value W whose mode is 'INSERTION', determined as follows:
· let U1, ... , Un be the constituent UNSUPPRESSETY-replicators of I, and let Ai, i = 1 ... n, be the denoter-coercee or alignment-code {immediately} following Ui:
· let R1, ... , Rn and D1, ... , Dn the {collateral} yields of U1, ... , Un and A1, ... , An, where the yield of an alignment-code is the {character which is the} intrinsic value {8.1.4.2.b } of its LETTER-symbol;
· the descriptor of W is ((1, n));
· the element of W selected by (i), i = 1, ..., n, is a structured value {of the mode specified by STRUCT(PROC INT rep, UNION(STRING, CHAR) sa)} whose fields, taken in order, are
· {rep} Ri;
· {sa} Di.
e) The yield of an integral-, real-, boolean-, complex-, string- or bits-patternP {10.3.4.2.1.a , 10.3.4.3.1.a , 10.3.4.4.1.a, 10.3.4.5.1.a , 10.3.4.6.1.a, 10.3.4.7.1.a } is a structured value W whose mode is 'PATTERN', determined as follows:
· let V1, ... , Vn be the {collateral} yields of the constituent frames of P {f};
· the fields of W, taken in order, are
· {type} 1 (2, 3, 4, 5) if P is an integral- (real-, boolean-, complex-, string-) -pattern and 6 (8, 12, 20) if P is a bits-pattern whose constituent RADIX is a radix-two (-four, -eight, -sixteen);
· {frames} a multiple value, whose mode is 'row of FRAME', having a descriptor ((1, n)) and n elements, that selected by (i) being Vi.
f) The yield of a frame F {10.3.4.1.1.m } is a structured value W whose mode is 'FRAME', determined as follows:
· the insertion and the replicator, it any, of F are elaborated collaterally:
· the fields of W, taken in order, are
· {i} the yield of its insertion;
· {rep} the yield of its replicator {c}, if any, and, otherwise, the yield of an invisible replicator:
· {supp} true if its first UNSUPPRESSETY-suppression contains a letter-s-symbol and, otherwise, false:
· {marker} (the character which is the intrinsic value {8.1.4.2.b } of a symbol S determined as follows:
· S is a letter-u-symbol.
· S is a letter-v-symbol.
Other cases:
· S is the constituent
symbol of the marker of F. {Thus the zero-marker
z may be passed on as the character "u", "v"
or "z" according to whether it forms part of a sign-mould
(with descendent plus-symbol or minus-symbol) or of an integral-mould.}
Next