Transaction:
TYPE =
RECORD [
action
op: {compile, replace} ← $compile,
input
source: FileParms.ActualId,
sourceStream: IO.STREAM,
fileParms: FileParms.Ops,
switches: LetterSwitches,
pattern: FileParms.ActualId,
objectName: Rope.ROPE,
objectFile: FS.OpenFile,
debugPass: CARDINAL←CARDINAL.LAST,
output
objectVersion: TimeStamp.Stamp,
interface: BOOL,
matched: BOOL,
sourceTokens: CARDINAL,
nErrors, nWarnings: CARDINAL,
objectBytes, objectFrameSize, linkCount: CARDINAL,
bcdPages, codePages, symbolPages: FileSegment.Span,
interaction
getStream: PROC [StreamId] RETURNS [IO.STREAM],
startPass: PROC [CARDINAL] RETURNS [goOn: BOOL]];