ThreeC4Support.mesa: October 22, 1985 1:58:27 pm PDT
Copyright Ó 1985, 1986, 1987 by Xerox Corporation. All rights reserved.
Sturgis, May 9, 1986 10:22:46 am PDT
Bill Jackson (bj) January 28, 1987 2:35:57 am PST
DIRECTORY
IO USING[STREAM, TokenKind],
OneCasabaParser USING[ParserTable],
Rope USING[ROPE];
SeeProdLinkArray: TYPE ~ REF SeeProdLinkArrayBody;
SeeProdLinkArrayBody: TYPE ~ RECORD [links: SEQUENCE nProds: CARDINAL OF SeeProcType];
SeeProcType: TYPE ~ PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [list: LIST OF REF ANY];
TokenLinkArray: TYPE ~ REF TokenLinkArrayBody;
TokenLinkArrayBody: TYPE ~ ARRAY IO.TokenKind OF TokenProcType;
TokenProcType: TYPE ~ PROC [text: Rope.ROPE, firstCharPosition: INT] RETURNS [tokenProc: REF ANY];
LinkProcType: TYPE ~ PROC [prodLinkArray: SeeProdLinkArray, tknLinkArray: TokenLinkArray];
ParseOneStream: PROC [from: IO.STREAM, table: OneCasabaParser.ParserTable, setUpLinks: LinkProcType, nProductions: INT, debugFlags: NAT, debuggingTextTo: IO.STREAM] RETURNS [REF ANY];
debug control flags
ShowParseSteps: NAT ~ 1;
ShowFunctionGraphs: NAT ~ 2;
these signals are used for error reporting
GetSourceInfo: SIGNAL RETURNS [sourcePosition: INT, sourceLength: INT];
GetReportStream: SIGNAL RETURNS [stream: IO.STREAM];
}...