TJaMPrivate.mesa
Copyright Ó 1985, 1986, 1991 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: BOOL ¬ FALSE
];
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.