DIRECTORY IPInterpreter USING [Any, Identifier, Integer, MasterError, Vector, VectorClass, VectorClassRep, VectorRep, VectorShape]; IPEnvironmentImpl: CEDAR PROGRAM IMPORTS IPInterpreter = BEGIN OPEN IPInterpreter; envClass: VectorClass ~ NEW[VectorClassRep _ [type: $Env, shape: EnvShape, get: EnvGet, getProp: EnvGetProp]]; EnvShape: PROC[v: Vector] RETURNS[VectorShape] ~ { MasterError[$undefinedOperation, "SHAPE is undefined for the external environment."]; RETURN[[0, 0]]; }; EnvGet: PROC[v: Vector, j: Integer] RETURNS[Any] ~ { MasterError[$undefinedOperation, "GET is undefined for the external environment."]; RETURN[NIL]; }; fonts, decompressionOps, colors, colorOps, colorModelOps: Vector _ NIL; EnvGetProp: PROC[v: Vector, propName: Any] RETURNS[value: Any, found: BOOL] ~ { WITH propName SELECT FROM id: Identifier => SELECT id.atom FROM $fonts => RETURN[fonts, TRUE]; $decompressionOps => RETURN[decompressionOps, TRUE]; $colors => RETURN[colors, TRUE]; $colorOps => RETURN[colorOps, TRUE]; $colorModelOps => RETURN[colorModelOps, TRUE]; ENDCASE; ENDCASE; RETURN[NIL, FALSE]; }; externalEnvironment: Vector ~ NEW[VectorRep _ [class: envClass, data: NIL]]; GetExternalEnvironment: PUBLIC PROC RETURNS[Vector] ~ { RETURN[externalEnvironment] }; END. ˜IPEnvironmentImpl.mesa Copyright c 1984 Xerox Corporation. All rights reserved. Doug Wyatt, August 16, 1984 2:22:52 pm PDT EXPORTS IPInterpreter Êà˜šœ™Jšœ Ïmœ.™9Jšœ*™*—J˜šÏk ˜ Jšœžœf˜yJ˜—Jšœžœž˜ Jšžœ˜Jšžœ™Jšœžœžœ˜J˜šœžœ˜9Jšœ4˜4J˜—šÏnœžœ žœ˜2JšœU˜UJšžœ ˜J˜J˜—šŸœžœžœ ˜4JšœS˜SJšžœžœ˜ Jšœ˜J˜—JšœCžœ˜GJ˜šŸ œžœžœžœ˜Ošžœ žœž˜šœžœ ž˜%Jšœ žœžœ˜Jšœžœžœ˜4Jšœ žœ žœ˜ Jšœ žœ žœ˜$Jšœžœžœ˜.Jšžœ˜ —Jšžœ˜—Jšžœžœžœ˜Jšœ˜J˜—šœžœ%žœ˜LJ˜—Jš Ÿœžœžœžœ žœ˜VJ˜Jšžœ˜—…—úr