-- BcdTabDefs.Mesa Edited by Sandman on January 3, 1979 8:55 AM -- Copyright Xerox Corporation 1979, 1980 DIRECTORY BcdDefs: FROM "bcddefs" USING [ CTIndex, EXPIndex, FTIndex, IMPIndex, MTIndex], Table: FROM "table" USING [Base, Index, Limit]; BcdTabDefs: DEFINITIONS = BEGIN -- Hash Table HVLength: PRIVATE INTEGER = 71; HVIndex: TYPE = INTEGER [0..HVLength); HTRecord: TYPE = RECORD [ link: HTIndex, offset: CARDINAL]; HTNull: HTIndex = FIRST[HTIndex]; HTIndex: TYPE = INTEGER [0..Table.Limit); -- Semantic Table STRecord: TYPE = RECORD [ filename, assigned: BOOLEAN, hti: HTIndex, imported, exported: BOOLEAN, link: STIndex, impi: BcdDefs.IMPIndex, impgfi: CARDINAL, body: SELECT type: * FROM unknown => NULL, local => [ info: Table.Index, --BcdTreeDefs.TreeIndex, context: CXIndex], external => [ map: STMap, pointer: SELECT ptype: * FROM instance => [sti: STIndex], file => [fti: BcdDefs.FTIndex], ENDCASE], ENDCASE]; STNull: STIndex = LAST[STIndex]; STIndex: TYPE = Table.Base RELATIVE POINTER [0..Table.Limit) TO STRecord; STMap: TYPE = RECORD [ SELECT type: * FROM unknown => NULL, config => [cti: BcdDefs.CTIndex], module => [mti: BcdDefs.MTIndex], interface => [expi: BcdDefs.EXPIndex], ENDCASE]; -- Context Table CXRecord: TYPE = RECORD [ link: STIndex]; CXNull: CXIndex = LAST[CXIndex]; CXIndex: TYPE = Table.Base RELATIVE POINTER [0..Table.Limit) TO CXRecord; END. (635)