<> <> <> <> DIRECTORY IO USING[STREAM, TokenKind], OneCasabaParser USING[ParserTable], Rope USING[ROPE]; ThreeC4Support: CEDAR DEFINITIONS ~ { 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]; <> ShowParseSteps: NAT ~ 1; ShowFunctionGraphs: NAT ~ 2; <> GetSourceInfo: SIGNAL RETURNS [sourcePosition: INT, sourceLength: INT]; GetReportStream: SIGNAL RETURNS [stream: IO.STREAM]; }...