DIRECTORY Literals USING [Base], Symbols USING [Base, CTXIndex, HashVector, MDIndex], SymbolSegment USING [Base, ExtIndex, FGTEntry, STHeader], Tree USING [Base]; SymbolTablePrivate: DEFINITIONS = { SymbolTableBase: TYPE = REF SymbolTableBaseRep; SymbolTableBaseRep: TYPE = RECORD [ link: SymbolTableBase, cacheInfo: LONG POINTER, hashVec: HashVectorPtr, -- hash index htb: Symbols.Base, -- hash table ssb: LONG STRING, -- id string seb: Symbols.Base, -- se table ctxb: Symbols.Base, -- context table mdb: Symbols.Base, -- module directory base bb: Symbols.Base, -- body table tb: Tree.Base, -- tree area ltb: Literals.Base, -- literal area stb: Literals.Base, -- string literal area extb: SymbolSegment.Base, -- extension map mdLimit: Symbols.MDIndex, -- module directory size extLimit: SymbolSegment.ExtIndex, -- extension size mainCtx: Symbols.CTXIndex, stHandle: STHeaderPtr NIL, sourceFile: LONG STRING NIL, fgTable: FGTEntryArrayDesc DESCRIPTOR[NIL, 0], notifier: PROC [SymbolTableBase] NIL ]; HashVectorPtr: TYPE = LONG POINTER TO Symbols.HashVector; STHeaderPtr: TYPE = LONG POINTER TO SymbolSegment.STHeader; FGTEntryArray: TYPE = ARRAY OF SymbolSegment.FGTEntry; FGTEntryArrayDesc: TYPE = LONG DESCRIPTOR FOR FGTEntryArray; }. N SymbolTablePrivate.mesa Copyright 1986, 1987, 1991 by Xerox Corporation. All rights reserved. Russ Atkinson (RRA) October 12, 1987 6:55:13 pm PDT This module was derived from SymbolPack. To avoid the use of multiple global frames we put the global data definitions in this file, and the implementations in SymbolOpsImpl. (cedarcode) styleNewlineDelimiter codeK e=HKk!3 K  K'4K&9Kheadn #KKKK/3.0 in tabStops#K3.0 in tabStopsK3.0 in tabStops K3.0 in tabStopsc %K3.0 in tabStops K3.0 in tabStops K3.0 in tabStops K3.0 in tabStops$K3.0 in tabStops+K3.0 in tabStops K3.0 in tabStops K3.0 in tabStops#K3.0 in tabStops*K3.0 in tabStops*K3.0 in tabStops2K3.0 in tabStops"3K3.0 in tabStopsK3.0 in tabStopsK3.0 in tabStops K3.0 in tabStops 0K3.0 in tabStops &K3.0 in tabStopsK3.0 in tabStopsK 9K ;K6K