-- FakeCompiler.mesa; edited by Sandman; July 8, 1980 9:23 AM DIRECTORY CBinary USING [DebugTab], CompilerUtil USING [TableId, debug], ControlDefs USING [GlobalFrameHandle], IODefs USING [], MiscDefs USING [DestroyFakeModule], OutputDefs USING [PutChar, PutDecimal, PutOctal, PutString], SegmentDefs USING [FileSegmentHandle]; FakeCompiler: PROGRAM IMPORTS CBinary, MiscDefs, OutputDefs EXPORTS CompilerUtil, IODefs =PUBLIC BEGIN OPEN OutputDefs; TableSegment: PROCEDURE [tab: CompilerUtil.TableId] RETURNS [seg: SegmentDefs.FileSegmentHandle] = BEGIN table: ControlDefs.GlobalFrameHandle = LOOPHOLE[CBinary.DebugTab]; IF tab # CompilerUtil.debug THEN ERROR; [seg, ] ← MiscDefs.DestroyFakeModule[table]; RETURN END; WriteChar: PROCEDURE [c: CHARACTER] = BEGIN PutChar[c] END; WriteDecimal: PROCEDURE [i: INTEGER] = BEGIN PutDecimal[i] END; WriteOctal: PROCEDURE [u: UNSPECIFIED] = BEGIN PutOctal[u] END; WriteString: PROCEDURE [s: STRING] = BEGIN PutString[s] END; END..