Text preview for : ListSymbols.mesa_Oct77.pdf part of xerox ListSymbols.mesa Oct77 xerox mesa 3.0_1977 listing ListSymbols.mesa_Oct77.pdf



Back to : ListSymbols.mesa_Oct77.pd | Home

listSymbols.mesa 25-0CT-77 15:08:14 Page 1


-- file listsymbols.mesa
-- last modified by Sandman, October 17, 1977 9:10 AM
DIRECTORY
AltoDefs: FROM "altodefs",
BcdDefs: FROM "bcddefs",
CommanderDefs: FROM "commanderdefs",
IODefs: FROM "iodefs",
ListerDefs: FROM "listerdefs",
OutputDefs: FROM "outputdefs",
SegmentDefs: FROM "segmentdefs",
StringDefs: FROM "stringdefs",
SymbolTableDefs: FROM "symboltabledefs",
SymDefs: FROM "symdefs";
DEFINITIONS FROM ListerDefs, OutputDefs, SymDefs;
ListSymbols: PROGRAM IMPORTS ListerDefs, CommanderDefs, IODefs, OutputDefs, SegmentDefs, StringDefs, Sy
**mbolTableDefs
EXPORTS ListerDefs
BEGIN
FileSegmentHandle: TYPE = SegmentDefs.FileSegmentHandle;
symbols: SymbolTableDefs.SymbolTableBase;
PutSubString: PROCEDURE [ss: StringDefs.SubString] =
BEGIN
i: CARDINAL;
FOR i IN [ss.offset .. ss.offset+ss.length)
DO
PutChar[ss.base[i]]
ENDLOOP;
RETURN
END;
PrintSymbols: PROCEDURE =
BEGIN
ctx: CTXIndex;
ctx ~ FIRST[CTXIndex];
UNTIL ctx = LOOPHOLE[symbols.stHand1e.ctxSize,CTXIndex]
DO
PutCR; PrintContext[ctx];
ctx ~ ctx + (WITH (symbo1s.ctxb+ctx) SELECT FROM
included =) SIZE [included CTXRecord],
imported =) SIZE [imported CTXRecord],
ENDCASE =) SIZE [simple CTXRecord]);
ENDLOOP;
PutCR; RETURN
END;
PrintContext: PROCEOURE [ctx: CTXIndex]