ISOut.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
edit by Ayers 21-Feb-85 19:51:05
based on the ideas in 'Press' etc by Johnsson --
Rick Beach, August 1, 1985 3:00:10 pm PDT
DIRECTORY
IO USING [STREAM],
ISToken USING [TVHandle],
Rope USING [ROPE];
ISOut: CEDAR DEFINITIONS
= BEGIN
Unimplemented: ERROR;
Encoding: TYPE = MACHINE DEPENDENT {Publication100(0), Machine100, last(65535)};
Operator: TYPE = { leftCurly, rightCurly,
gets, open, plus, minus, times, divide,
push, pop, dot,
extra0, extra1, extra2, extra3, extra4,
extra5, extra6, extra7, extra8, extra9 };
Handle: TYPE = REF Interface;
Interface: TYPE = RECORD [
data: PRIVATE REF,
basic tokens --
PutOperator: PROCEDURE [Handle, Operator],
PutISAtom: PROCEDURE [Handle, ATOM],
PutTag: PROCEDURE [Handle, ATOM],
characters .. NOT a pub-encoding representation of a fragment --
PutStringLiteral: PROCEDURE [Handle, Rope.ROPE],
PutXStringLiteral: PROCEDURE [Handle, Rope.ROPE],
numbers --
PutCardinal: PROCEDURE [Handle, CARDINAL],
PutLongCardinal: PROCEDURE [Handle, LONG CARDINAL],
special help --
PutTVObject: PROCEDURE [Handle, ISToken.TVHandle],
Delete: PROCEDURE [Handle],
processing --
Start: PROCEDURE [h: Handle, output: IO.STREAM, name: Rope.ROPENIL],
Finish: PROCEDURE [Handle],
Abort: PROCEDURE [Handle],
encoding: Encoding ];
CreatePublication100: PROCEDURE RETURNS [Handle];
END.