-- file CompilerOps.Mesa -- last modified by Satterthwaite, 2-Nov-81 12:31:39 -- last modified by Russ Atkinson, 28-Aug-81 12:26:43 DIRECTORY File: TYPE USING [Capability], FileParms: TYPE USING [ActualId, Ops], Stream: TYPE USING [Handle], Strings: TYPE USING [String], TimeStamp: TYPE USING [Stamp]; CompilerOps: DEFINITIONS = { -- transaction definitions LetterSwitches: TYPE = PACKED ARRAY CHARACTER ['a..'z] OF BOOLEAN; Transaction: TYPE = RECORD [ -- action op: {compile, replace} ← compile, -- input source: FileParms.ActualId, sourceStream: Stream.Handle, fileParms: FileParms.Ops, switches: LetterSwitches, pattern: FileParms.ActualId, objectName: Strings.String, objectFile: File.Capability, debugPass: CARDINAL ← LAST[CARDINAL], -- output objectVersion: TimeStamp.Stamp, matched: BOOLEAN, sourceTokens: CARDINAL, nErrors, nWarnings: CARDINAL, objectBytes, objectFrameSize, linkCount: CARDINAL, -- interaction getStream: PROC [StreamId] RETURNS [Stream.Handle], startPass: PROC [CARDINAL] RETURNS [goOn: BOOLEAN]]; StreamId: TYPE = MACHINE DEPENDENT {source, object, log, (255)}; -- inquiries DefaultSwitches: PROC RETURNS [LetterSwitches]; CompilerVersion: PROC RETURNS [TimeStamp.Stamp]; AppendHerald: PROC [Strings.String]; -- operations Start: PROC [scratchZone: UNCOUNTED ZONE]; DoTransaction: PROC [POINTER TO Transaction]; -- really a VAR Stop: PROC; Punt: ERROR; }.