CompilerOps.mesa
Copyright Ó 1985, 1986, 1988, 1991 by Xerox Corporation. All rights reserved.
Satterthwaite, June 7, 1983 10:08 am
Russ Atkinson (RRA) May 17, 1989 12:16:18 pm PDT
DIRECTORY
FileParms USING [ActualId, Ops],
IO USING [STREAM],
MobDefs USING [VersionStamp],
Rope USING [ROPE];
CompilerOps: DEFINITIONS = {
Transaction definitions
LetterSwitches: TYPE = PACKED ARRAY CHAR['a..'z] OF BOOL;
Transaction: TYPE = RECORD [
action
op: {compile, replace} ¬ $compile,
input
source: FileParms.ActualId,
sourceStream: IO.STREAM,
fileParms: FileParms.Ops,
switches: LetterSwitches,
checks: LetterSwitches,
pattern: FileParms.ActualId,
objectName: Rope.ROPE,
debugPass: CARDINAL¬CARDINAL.LAST,
output
objectVersion: MobDefs.VersionStamp,
interface: BOOL,
sourceTokens: CARDINAL,
nErrors, nWarnings: CARDINAL,
interaction
getStream: PROC [StreamId] RETURNS [IO.STREAM],
closeStream: PROC [StreamId],
startPass: PROC [CARDINAL] RETURNS [goOn: BOOL]];
StreamId: TYPE = MACHINE DEPENDENT {source, object, log, (255)};
Inquiries
AppendHerald: PROC [s: IO.STREAM];
DefaultSwitches: PROC RETURNS [LetterSwitches];
Operations
Start: PROC;
DoTransaction: PROC [REF Transaction];
Stop: PROC;
Punt: ERROR;
}.