TJaMPrivate.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Doug Wyatt, March 25, 1985 4:42:19 pm PST
DIRECTORY
TJaM USING [Any, Dict, NumberRep];
TJaMPrivate: CEDAR DEFINITIONS
~ BEGIN OPEN TJaM;
FrameImpl: TYPE ~ REF FrameImplRep;
FrameImplRep: TYPE ~ RECORD [
stack: Stack, -- operand stack
dictStack: DictStack, -- dictionary stack
cache: Cache, -- dictionary cache
sysDict: Dict,
abort: BOOLFALSE
];
StackElement: TYPE ~ RECORD[ref: Any, num: NumberRep];
Stack: TYPE ~ REF StackRep;
StackRep: TYPE ~ RECORD[
count: NAT ← 0,
max: NAT ← 0,
seq: SEQUENCE size: NAT OF StackElement
];
NewStack: PROC[size: NAT] RETURNS[Stack];
DictStack: TYPE ~ REF DictStackRep;
DictStackRep: TYPE ~ RECORD[
count: NAT ← 0,
max: NAT ← 0,
seq: SEQUENCE size: NAT OF Dict
];
NewDictStack: PROC[size: NAT] RETURNS[DictStack];
Cache: TYPE ~ REF CacheRep;
CacheRep: TYPE ~ RECORD [
size: NAT,
tuples: SEQUENCE max: NAT OF Tuple
];
Tuple: TYPE ~ RECORD [key: ATOM, val: Any];
END.