<> <> <> <> <> 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]; }.