MicroGlobalVarsImpl.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Willie-sue, February 26, 1986 11:28:31 am PST
Dave Rumph, November 20, 1986 3:16:52 pm PST
-- taken from MicDecl.d
DIRECTORY
IO USING [STREAM],
Rope USING [ROPE],
MicroDefs USING [OutputFile],
MicroGlobalVars USING [];
MicroGlobalVarsImpl: CEDAR PROGRAM
EXPORTS
MicroDefs, MicroGlobalVars
= BEGIN
STREAM: TYPE = IO.STREAM;
ROPE: TYPE = Rope.ROPE;
OutputFile: TYPE = MicroDefs.OutputFile;
global variables
-- MicGlob
expandedListingFlag: PUBLIC BOOL;
writeBinaryFlag: PUBLIC BOOL;
listTargetOnlyFlag: PUBLIC BOOL;
convertToUpperFlag: PUBLIC BOOL;
lineCount: PUBLIC CARDINAL;    -- Current line count
labelSymIndex: PUBLIC INTEGER;    -- pointer to Last label symbol
labelLineCount: PUBLIC INTEGER;  -- LineCount at last label
stmtLineCount: PUBLIC INTEGER;   -- LineCount at last statement
restoreSymbolsFile: PUBLIC ROPE;
binaryFile: PUBLIC OutputFile;
errorFileRec: PUBLIC OutputFile;
symbolsFileRec: PUBLIC OutputFile;
fixupsFileRec: PUBLIC OutputFile;
listingFileRec: PUBLIC OutputFile;
warningCount: PUBLIC CARDINAL;
errorCount: PUBLIC CARDINAL;
reportStrm: PUBLIC STREAM;
-- Scalars saved on .ST file ("environment values")
lastMemNum: PUBLIC CARDINAL;   -- Max used memory #
commentChar: PUBLIC CHAR;  -- special * comment character
mbExtn: PUBLIC ROPE;    -- Pointer to extension for binary output
targetSym: PUBLIC CARDINAL;   -- Relative ep of target address symbol
traceCalls: PUBLIC BOOL;   -- If true, trace macro calls
ignore: PUBLIC BOOL;    -- If true, ignore all statements not starting with :
traceSyms: PUBLIC BOOL;   -- If true, trace all lookups/putins
nextMacroIndex: PUBLIC INT;
stmtBuffer: PUBLIC LONG POINTER TO WORD;
macroStorageStart: PUBLIC LONG POINTER TO WORD;
 -- MicList
abortFlag: PUBLIC BOOL;
 -- MicProc
stmtBufferTop: PUBLIC NAT;
stmtTailBottom: PUBLIC NAT;
stmtTailTop: PUBLIC NAT;
Error: PUBLIC SIGNAL[explanation: Rope.ROPENIL] = CODE;
Failure: PUBLIC SIGNAL[explanation: Rope.ROPENIL] = CODE;
END.