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. Œ TJaMPrivate.mesa Copyright Σ 1985, 1986, 1991 by Xerox Corporation. All rights reserved. Doug Wyatt, March 25, 1985 4:42:19 pm PST Κ3–(cedarcode) style•NewlineDelimiter ™codešœ™Kšœ Οeœ=™HK™)—K˜šΟk ˜ Kšœžœ˜"—K˜KšΠbl œžœž ˜Kšœžœžœ˜K˜Kšœ žœžœ˜#šœžœžœ˜KšœΟc˜Kšœ ˜)Kšœ ˜!Kšœ˜Kšœžœž˜K˜K˜—Kšœžœžœ˜6K˜Kšœžœžœ ˜šœ žœžœ˜Kšœžœ˜Kšœžœ˜ Kšœžœžœžœ ˜'K˜K˜—KšΟnœžœžœžœ˜)K˜K˜Kšœ žœžœ˜#šœžœžœ˜Kšœžœ˜Kšœžœ˜ Kšœžœžœžœ˜K˜K˜—Kš‘ œžœžœžœ ˜1K˜Kšœžœžœ ˜šœ žœžœ˜Kšœžœ˜ Kšœžœžœžœ˜"K˜K˜—Kšœžœžœžœ ˜+K˜Kšžœ˜—…—j)