DIRECTORY IO, ConcreteSyntaxDef, OneCasabaParser, FS, SiroccoParserDef USING[], ThreeC4Support, WartDef; SiroccoParserImpl: CEDAR PROGRAM IMPORTS IO, ConcreteSyntaxDef, OneCasabaParser, FS, ThreeC4Support, WartDef EXPORTS SiroccoParserDef= BEGIN OPEN IO, ConcreteSyntaxDef, OneCasabaParser, FS, ThreeC4Support, WartDef; 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, 84, debugFlags, debuggingTextTo]] END; SetUpLinks: PROC[prodLinkArray: SeeProdLinkArray, tknLinkArray: TokenLinkArray] = BEGIN WartLinkProc[prodLinkArray, tknLinkArray]; ConcreteSyntaxLinkProc[prodLinkArray, tknLinkArray]; END; BEGIN tableStream: IO.STREAM _ FS.StreamOpen["SiroccoParser.kipperedParseTables"]; ParseTable _ OneCasabaParser.BuildParserTableFromKipperedStream[tableStream]; IO.Close[tableStream]; END; END.. obtain parser table ÊX˜šÏk ˜ Jšœ˜J˜J˜Jšœ˜Jšœœ˜J˜J˜—J˜JšÏnœœœœœ&œœ˜‡Jš˜Jšœœ&œ˜IJšž œ œ˜.J˜Jšžœœœœœœœœœœœ˜qJš˜Jšœ^˜dJšœ˜J˜Jšž œœA˜QJš˜J˜*J˜4Jšœ˜J˜J˜Jšœ™˜Jš˜Jšœ œœœ1˜LJ˜MJšœ˜Jšœ˜—J˜Jšœ˜J˜—…—ÜN