ThreeC4Support.mesa: October 22, 1985 1:58:27 pm PDT
Sturgis, May 9, 1986 10:22:46 am PDT
DIRECTORY
IO USING[STREAM, TokenKind],
OneCasabaParser USING[ParserTable],
Rope USING[ROPE];
ThreeC4Support: CEDAR DEFINITIONS =
BEGIN
SeeProdLinkArray: TYPE = REF SeeProdLinkArrayBody;
SeeProdLinkArrayBody: TYPE = RECORD[links: SEQUENCE nProds: CARDINAL OF PROC[nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS[LIST OF REF ANY]];
TokenLinkArray: TYPE = REF TokenLinkArrayBody;
TokenLinkArrayBody: TYPE = ARRAY IO.TokenKind OF PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[REF ANY];
ParseOneStream: PROC[from: IO.STREAM, table: OneCasabaParser.ParserTable, setUpLinks: PROC[SeeProdLinkArray, TokenLinkArray], nProductions: INT, debugFlags: CARDINAL, debuggingTextTo: IO.STREAM] RETURNS[REF ANY];
-- debug control flags
ShowParseSteps: CARDINAL = 1;
ShowFunctionGraphs: CARDINAL = 2;
-- these signals are used for error reporting
GetSourceInfo: SIGNAL RETURNS[sourcePosition, sourceLength: INT];
GetReportStream: SIGNAL RETURNS[IO.STREAM];
END..