<> <> <> <> DIRECTORY IO, ExampleCGDef, ExampleParserDef USING[], OneCasabaParser, FS, ThreeC4Support, ExampleGenericDef; ExampleParserImpl: CEDAR PROGRAM IMPORTS IO, ExampleCGDef, OneCasabaParser, FS, ThreeC4Support, ExampleGenericDef EXPORTS ExampleParserDef= BEGIN OPEN IO, ExampleCGDef, OneCasabaParser, FS, ThreeC4Support, ExampleGenericDef; ParseTable: OneCasabaParser.ParserTable _ NIL; ParseOneStream: PUBLIC PROC[from: IO.STREAM, debugFlags: CARDINAL, debuggingTextTo: IO.STREAM] RETURNS[REF ANY] = BEGIN RETURN[ThreeC4Support.ParseOneStream[from, ParseTable, SetUpLinks, 11, debugFlags, debuggingTextTo]] END; SetUpLinks: PROC[prodLinkArray: SeeProdLinkArray, tknLinkArray: TokenLinkArray] = BEGIN ExampleGenericLinkProc[prodLinkArray, tknLinkArray]; ExampleCGLinkProc[prodLinkArray, tknLinkArray]; END; <> BEGIN tableStream: IO.STREAM _ FS.StreamOpen["ExampleParser.kipperedParseTables"]; ParseTable _ OneCasabaParser.BuildParserTableFromKipperedStream[tableStream]; IO.Close[tableStream]; END; END..