<<>> <> <> <> DIRECTORY FileInterpreter, G3dTool, G3dScene, Rope, ViewerClasses; G3dInterpret: CEDAR DEFINITIONS ~ BEGIN <> RenderTool: TYPE ~ G3dTool.Tool; ParseState: TYPE ~ G3dScene.ParseState; ROPE: TYPE ~ Rope.ROPE; Column: TYPE ~ ViewerClasses.Column; InterpretTool: TYPE ~ REF InterpretToolRep; InterpretToolRep: TYPE ~ RECORD [ fileTool: FileInterpreter.Tool ¬ NIL, -- the File Interpreter tool renderTool: RenderTool ¬ NIL, -- where the action is parseState: ParseState ¬ NIL -- provide continuity between parse ]; <> Error: SIGNAL [reason: ROPE]; MakeInterpretTool: PROC [ fileName: ROPE, column: Column ¬ left, log: BOOL ¬ TRUE, renderTool: RenderTool ¬ NIL] RETURNS [InterpretTool]; <> <> <> <> <<>> Parse: PROC [operation: ROPE]; <> <> <<>> ParseReals: PROC [key: ROPE, values: LIST OF REAL]; <> <<>> ParseInts: PROC [key: ROPE, values: LIST OF INT]; <> <<>> GetInterpretTool: PROC RETURNS [InterpretTool]; <> <> END.