TiogaAccessPrivate.mesa
Copyright Ó 1985, 1986, 1991, 1992 by Xerox Corporation. All rights reserved.
Russ Atkinson (RRA) July 2, 1985 11:06:55 am PDT
Doug Wyatt, July 7, 1992 4:55 pm PDT
Private types for TiogaAccess.
DIRECTORY
NodeReader USING [Ref],
Rope USING [ROPE],
Rosary USING [ROSARY],
Tioga USING [Node, Looks, CharSet, PropList],
TiogaAccess USING [TiogaChar];
TiogaAccessPrivate: CEDAR DEFINITIONS ~ BEGIN
Reader: TYPE ~ REF ReaderRep;
ReaderRep: TYPE ~ RECORD [
root: Tioga.Node ¬ NIL, -- root of document
offset: INT ¬ 0, -- position of [root, 0]
node: Tioga.Node ¬ NIL, -- current node
rdr: NodeReader.Ref, -- node reader for node
index: INT ¬ 0, -- current index in node
start: INT ¬ 0, -- LocNumber[[node, 0]]
putback: LIST OF TiogaAccess.TiogaChar ¬ NIL
];
ropePieces: NAT ~ 15;
Writer: TYPE ~ REF WriterRep;
WriterRep: TYPE ~ RECORD [
root: Tioga.Node,
first: Tioga.Node,
last: Tioga.Node,
level: INT,
lastLevel: INT,
nodeSize: INT,
ropes: ARRAY [0..ropePieces) OF Rope.ROPE,
textBuf: REF TEXT,
The contents of the current node is represented by the concatenation of ropes in order by decreasing index, together with the contents of textBuf. The size of ropes[i] is either 0 or approximately textBufSize*2**i; building the rope this way yields a balanced rope without a lot of flattening.
runs: Rosary.ROSARY,
newLooks: Tioga.Looks,
newLooksRepeat: INT,
charSets: Rosary.ROSARY,
newCharSet: Tioga.CharSet,
newCharSetRepeat: INT,
charProps: Rosary.ROSARY,
newCharProp: Tioga.PropList,
newCharPropRepeat: INT
];
END.