DIRECTORY Alloc: TYPE USING [Handle], BcdDefs: TYPE USING [VersionStamp], ConvertUnsafe: TYPE USING [SubString], Symbols: TYPE, Tree: TYPE USING [Link, Map]; SymbolOps: DEFINITIONS = { OPEN Symbols; FindString: PROC[ConvertUnsafe.SubString] RETURNS[Name]; HashValue: PROC[ConvertUnsafe.SubString] RETURNS[HVIndex]; SubStringForName: PROC[Name] RETURNS[ConvertUnsafe.SubString]; CtxEntries: PROC[CTXIndex] RETURNS[CARDINAL]; FirstCtxSe: PROC[CTXIndex] RETURNS[ISEIndex]; NextSe: PROC[ISEIndex] RETURNS[ISEIndex]; SearchContext: PROC[name: Name, ctx: CTXIndex] RETURNS[ISEIndex]; SeiForValue: PROC[value: CARDINAL, ctx: CTXIndex] RETURNS[ISEIndex]; FindMdi: PROC[BcdDefs.VersionStamp] RETURNS[MDIndex]; ArgCtx: PROC[CSEIndex] RETURNS[CTXIndex]; ArgRecord: PROC[CSEIndex] RETURNS[RecordSEIndex]; ClusterSe: PROC[Type] RETURNS[Type]; EqTypes: PROC[Type, Type] RETURNS[BOOL]; NormalType: PROC[Type] RETURNS[CSEIndex]; RecordLink: PROC[RecordSEIndex] RETURNS[RecordSEIndex]; RecordRoot: PROC[RecordSEIndex] RETURNS[RecordSEIndex]; ReferentType: PROC[Type] RETURNS[Type]; TransferTypes: PROC[Type] RETURNS[typeIn, typeOut: RecordSEIndex]; TypeForm: PROC[Type] RETURNS[TypeClass]; TypeLink: PROC[Type] RETURNS[Type]; TypeRoot: PROC[Type] RETURNS[Type]; UnderType: PROC[Type] RETURNS[CSEIndex]; XferMode: PROC[Type] RETURNS[TransferMode]; BitsForRange: PROC[CARDINAL] RETURNS[CARDINAL]; BitsForType: PROC[Type] RETURNS[BitCount]; BitsPerElement: PROC[type: Type, packed: BOOL] RETURNS[BitCount]; Cardinality: PROC[Type] RETURNS[LONG CARDINAL]; FindExtension: PROC[sei: ISEIndex] RETURNS[type: ExtensionType, tree: Tree.Link]; FnField: PROC[ISEIndex] RETURNS[offset: BitAddress, size: FieldBitCount]; LinkMode: PROC[sei: ISEIndex] RETURNS[Linkage]; NameForSe: PROC[ISEIndex] RETURNS[Name]; PackedSize: ARRAY PackedBitCount OF CARDINAL = [1, 2, 4, 4, 8, 8, 8, 8]; RecField: PROC[ISEIndex] RETURNS[offset: BitAddress, size: FieldBitCount]; RCType: PROC[Type] RETURNS[RefClass]; VariantField: PROC[CSEIndex] RETURNS[ISEIndex]; WordsForType: PROC[Type] RETURNS[WordCount]; EnumerateBodies: PROC[root: BTIndex, proc: PROC[BTIndex] RETURNS[stop: BOOL]] RETURNS[BTIndex]; ParentBti: PROC[BTIndex] RETURNS[BTIndex]; SiblingBti: PROC[BTIndex] RETURNS[BTIndex]; SonBti: PROC[BTIndex] RETURNS[BTIndex]; Initialize: PROC[Alloc.Handle, UNCOUNTED ZONE]; Reset, Finalize: PROC; EnterString: PROC[ConvertUnsafe.SubString] RETURNS[Name]; HashBlock: PROC RETURNS[LONG POINTER TO HashVector]; NextLevel: PROC[ContextLevel] RETURNS[ContextLevel]; CtxLevel: PROC[CTXIndex] RETURNS[ContextLevel]; SetCtxLevel: PROC[CTXIndex, ContextLevel]; BlockLevel: PROC[ContextLevel] RETURNS[ContextLevel]; NewCtx: PROC[ContextLevel] RETURNS[CTXIndex]; SetMainCtx: PROC[CTXIndex]; ResetCtxList: PROC[CTXIndex]; FirstVisibleSe: PROC[CTXIndex] RETURNS[ISEIndex]; NextVisibleSe: PROC[ISEIndex] RETURNS[ISEIndex]; VisibleCtxEntries: PROC[CTXIndex] RETURNS[CARDINAL]; CtxVariant: PROC[CTXIndex] RETURNS[ISEIndex]; StaticNestError: SIGNAL; MakeCtxSe: PROC[name: Name, ctx: CTXIndex] RETURNS[ISEIndex]; MakeNonCtxSe: PROC[CARDINAL] RETURNS[CSEIndex]; MakeSeChain: PROC[CTXIndex, CARDINAL, BOOL] RETURNS[ISEIndex]; FillCtxSe: PROC[ISEIndex, Name, BOOL]; NameClash: SIGNAL [name: Name]; EnterExtension: PROC[sei: ISEIndex, type: ExtensionType, tree: Tree.Link]; SetSeLink: PROC[sei, next: ISEIndex]; LinkBti: PROC[bti, parent: BTIndex]; DelinkBti: PROC[BTIndex]; CopyArgSe: PROC[copy, master: ISEIndex]; CopyBasicType: PROC[CSEIndex] RETURNS[CSEIndex]; CopyXferType: PROC[CSEIndex, Tree.Map] RETURNS[CSEIndex]; ConstantId: PROC[ISEIndex] RETURNS[BOOL]; }. SymbolOps.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Satterthwaite, April 3, 1986 5:38:14 pm PST Rovner, July 6, 1983 1:36 pm Russ Atkinson (RRA) January 31, 1985 1:07:20 pm PST implemented by SymbolPack hash manipulation context management module management type manipulation information returning procedures body table management implemented by SymbolPackExt (extensions for building tables) hash manipulation context management body table utilities copying within current table attribute extraction Κ˜codešœ™Kšœ Οmœ1™K˜—šœ™KšŸ œžœ žœžœ˜-KšŸ œžœ žœ ˜-KšŸœžœ žœ ˜)KšŸ œžœžœ ˜AKšŸ œžœžœžœ ˜DK˜—šœ™KšŸœžœžœ ˜5K˜—šœ™KšŸœžœ žœ ˜)KšŸ œžœ žœ˜1KšŸ œžœžœ˜$KšŸœžœ žœžœ˜(KšŸ œžœžœ ˜)KšŸ œžœžœ˜7KšŸ œžœžœ˜7KšŸ œžœžœ˜'KšŸ œžœžœ!˜BKšŸœžœžœ ˜(KšŸœžœžœ˜#KšŸœžœžœ˜#KšŸ œžœžœ ˜(KšŸœžœžœ˜+K˜—šœ ™ Kš Ÿ œžœžœžœžœ˜/KšŸ œžœžœ ˜*KšŸœžœžœžœ ˜AKš Ÿ œžœžœžœžœ˜/KšŸ œžœžœ'˜QKšŸœžœ žœ*˜IKšŸœžœžœ ˜/KšŸ œžœ žœ˜(Kšœ žœžœžœ˜HKšŸœžœ žœ*˜JKšŸœžœžœ ˜%KšŸ œžœ žœ ˜/KšŸ œžœžœ ˜,K˜—šœ™š Ÿœžœžœ žœžœ˜MKšžœ ˜—KšŸ œžœ žœ ˜*KšŸ œžœ žœ ˜+KšŸœžœ žœ ˜'K˜K˜——Kšœ=™=˜KšŸ œžœž œžœ˜/KšœŸœžœ˜K˜šœ™KšŸ œžœžœ˜9Kš Ÿ œžœžœžœžœžœ ˜4K˜—šœ™KšŸ œžœžœ˜4KšŸœžœ žœ˜/KšŸ œžœ˜*KšŸ œžœžœ˜5KšŸœžœžœ ˜-KšŸ œžœ ˜KšŸ œžœ ˜KšŸœžœ žœ ˜1KšŸ œžœ žœ ˜0KšŸœžœ žœžœ˜4KšŸ œžœ žœ ˜-K˜Kšœžœ˜K˜KšŸ œžœžœ ˜=KšŸ œžœžœžœ ˜/K˜Kš Ÿ œžœ žœžœžœ ˜>KšŸ œžœžœ˜&Kšœ žœ˜KšŸœžœ6˜JKšŸ œžœ˜%K˜—šœ™KšŸœžœ˜$KšŸ œžœ ˜K˜—šœ™KšŸ œžœ˜(KšŸ œžœ žœ ˜0KšŸ œžœžœ ˜9K˜—šœ™KšŸ œžœ žœžœ˜)K˜—˜K˜———…—*T