-- OuterFacade.mesa
-- last modified by Satterthwaite, October 7, 1982 1:45 pm

DIRECTORY
CompilerOps: TYPE CompilerOps USING [LetterSwitches, Transaction],
BridgeCompilerOps: TYPE USING [
AppendHerald, CompilerVersion, DefaultSwitches, DoTransaction, Start, Stop],
Strings: TYPE USING [String],
TimeStamp: TYPE USING [Stamp];

OuterFacade: PROGRAM IMPORTS C: BridgeCompilerOps EXPORTS CompilerOps ~ {

LetterSwitches: TYPE ~ CompilerOps.LetterSwitches;
Transaction: TYPE ~ CompilerOps.Transaction;

-- inquiries

DefaultSwitches: PUBLIC PROC RETURNS [LetterSwitches] ~ {
RETURN [C.DefaultSwitches[]]};

CompilerVersion: PUBLIC PROC RETURNS [TimeStamp.Stamp] ~ {
RETURN [C.CompilerVersion[]]};

AppendHerald: PUBLIC PROC [s: Strings.String] ~ {C.AppendHerald[s]};

-- operations

Start: PUBLIC PROC [scratchZone: UNCOUNTED ZONE] ~ {C.Start[scratchZone]};

DoTransaction: PUBLIC PROC [parms: POINTER TO Transaction] ~ {
C.DoTransaction[parms]};

Stop: PUBLIC PROC ~ {C.Stop[]};

Punt: PUBLIC ERROR ~ CODE;

}.