DIRECTORY TJaMBasic USING [Object, Tuple]; TJaMInternal: DEFINITIONS = { Frame: TYPE = LONG POINTER TO FrameRecord; FrameRecord: TYPE = RECORD[ link: Frame, -- next frame in list of all frames opstk: Stack, -- operand stack execstk: Stack, -- execution stack dictstk: Stack, -- dictionary stack cache: Cache, -- dictionary cache locals: Locals, -- local variables abort: BOOLEAN, -- abort flag stepflag,astepflag: BOOLEAN -- single step flags ]; Stack: TYPE = LONG POINTER TO StackRecord; StackRecord: TYPE = RECORD[ head: Node, -- top of stack free: Node, -- top of free list nodes: LONG POINTER TO NodeSequence -- array of nodes ]; Node: TYPE = LONG POINTER TO NodeRecord; NodeRecord: TYPE = RECORD[next: Node, ob: TJaMBasic.Object]; NodeSequence: TYPE = RECORD[SEQUENCE size: CARDINAL OF NodeRecord]; TupleSequence: TYPE = RECORD[SEQUENCE COMPUTED CARDINAL OF TJaMBasic.Tuple]; HashSequence: TYPE = RECORD[SEQUENCE COMPUTED CARDINAL OF CARDINAL]; Cache: TYPE = LONG POINTER TO CacheRecord; CacheRecord: TYPE = RECORD [ curlen,maxlen,size: CARDINAL, hash: LONG POINTER TO HashSequence, table: LONG POINTER TO TupleSequence, clears, probes, hits: LONG INTEGER ]; Locals: TYPE = LONG POINTER TO LocalsRecord; LocalsRecord: TYPE = RECORD[ -- export to TJaMOps curlen,maxlen: CARDINAL, array: LONG POINTER TO TupleSequence ]; }. ΊTJaMInternal.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Last edit by Doug Wyatt, 1-Oct-81 15:26:43 Michael Plass, February 14, 1985 12:22:26 pm PST Types Κw˜šœ™Icodešœ Οmœ1™