-- PPHelper.mesa
-- Russ Atkinson, August 6, 1982 11:09 am

-- a separate module used to aid pretty-printing

DIRECTORY
PPTree USING [Link],
Rope USING [ROPE];

PPHelper: CEDAR DEFINITIONS
= PUBLIC BEGIN OPEN Rope;

InvalidIndex: INT = LAST[INT];

-- this handle is used to hold on to the log stream
indent, position, line, page: INT;
sizing: BOOL;
lastChar: CHAR;

lateTrigger, earlyTrigger: INT;

Excess: ERROR;

Init: PROC;

GetInfo: PROC [t: PPTree.Link] RETURNS [info: INT];

GetAttrs: PROC [t: PPTree.Link] RETURNS [a1,a2,a3: BOOLEAN];

WriteChar: PROC [c: CHAR];

WriteId: PROC [r: ROPE];

WriteText: PROC [r: ROPE];

WriteQuotedText: PROC [r: ROPE];

Indent: PROC;

Break: PROC;

END.