<<>> <> <> <> <> <> <> DIRECTORY MobDefs USING [CTIndex, EXPIndex, FTIndex, IMPIndex, MTIndex], MobHashTypes USING [HTIndex, HTNull], Table USING [Base, Index]; MobSymbols: DEFINITIONS={ Base: TYPE~Table.Base; <> <> HTIndex: TYPE~MobHashTypes.HTIndex; HTNull: HTIndex~MobHashTypes.HTNull; <> STRecord: TYPE~RECORD [ filename, assigned: BOOL, hti: HTIndex, imported, exported: BOOL, link: STIndex, impi: MobDefs.IMPIndex, impgfi: CARDINAL, body: SELECT type: * FROM unknown => [], local => [ map: STMap, info: Table.Index, -- Tree.Index, context: CXIndex], external => [ map: STMap, pointer: SELECT ptype: * FROM instance => [sti: STIndex], file => [fti: MobDefs.FTIndex], ENDCASE] ENDCASE]; STIndex: TYPE~Base RELATIVE LONG POINTER TO STRecord; stNull: STIndex~STIndex.LAST; <> ISEIndex, SEIndex: TYPE~STIndex; STMap: TYPE~RECORD [ SELECT type: * FROM unknown => [], config => [cti: MobDefs.CTIndex], module => [mti: MobDefs.MTIndex], interface => [expi: MobDefs.EXPIndex] ENDCASE]; <> CXRecord: TYPE~RECORD [link: STIndex]; CXIndex: TYPE~Base RELATIVE LONG POINTER TO CXRecord; cxNull: CXIndex~CXIndex.LAST; }.