DIRECTORY Basics, Core, CoreIO, CoreProperties, IO; BSCoreIOIFUPropsImpl: CEDAR PROGRAM IMPORTS Basics, CoreIO, CoreProperties, IO = BEGIN ROPE: TYPE = Core.ROPE; Sides: TYPE = MACHINE DEPENDENT {none(0), bottom(1), right(2), top(4), left(8), all(15)}; sides: PUBLIC ATOM _ CoreIO.RegisterProperty[ $CoreBlockSides, WriteSides, ReadSides ]; WriteSides: CoreIO.PropWriteProc = { refSides: REF Sides _ NARROW[value]; card: CARDINAL _ LOOPHOLE[refSides^]; IO.PutF[h.stream, "%g ", IO.card[card]]}; ReadSides: CoreIO.PropReadProc = { card: CARDINAL _ IO.GetCard[h.stream]; max: CARDINAL _ 15; IF card > max THEN Signal[]; RETURN[ NEW[Sides _ LOOPHOLE[Basics.BITAND[card, 15] ] ] ]}; drShiftIn: PUBLIC ATOM _ CoreIO.RegisterProperty[ CoreProperties.RegisterProperty[ $DShiftIn, CoreProperties.Props[ [CoreProperties.propPrint, NEW[CoreProperties.PropPrintProc _ PrintRopeIn ]] ]], WriteRope, ReadRope ]; drShiftOut: PUBLIC ATOM _ CoreIO.RegisterProperty[ CoreProperties.RegisterProperty[ $DShiftOut, CoreProperties.Props[ [CoreProperties.propPrint, NEW[CoreProperties.PropPrintProc _ PrintRopeOut]]]], WriteRope, ReadRope ]; WriteRope: CoreIO.PropWriteProc = {rope: ROPE _ NARROW[value]; CoreIO.WriteRope[h, rope]}; ReadRope: CoreIO.PropReadProc = {rope: ROPE _ CoreIO.ReadRope[h]; RETURN[ rope ]}; PrintRopeIn: CoreProperties.PropPrintProc = {rope: ROPE _ NARROW[val]; to.PutF["DShiftIn: %g", IO.rope[rope]]}; PrintRopeOut: CoreProperties.PropPrintProc = {rope: ROPE _ NARROW[val]; to.PutF["DShiftOut: %g", IO.rope[rope]]}; Signal: SIGNAL = CODE; END. ΄BSCoreIOIFUPropsImpl.mesa Last edited by Curry September 25, 1986 9:56:25 am PDT Don Curry October 24, 1986 5:48:44 pm PDT Bertrand Serlet November 25, 1986 11:34:11 pm PST Κ$˜šœ™Jšœ3Οk™6Icodešœ&™)K™1—J˜Jš œ'œ˜3J˜šΟnœœ˜#Jšœ!œ˜,—Jš˜J˜Jšœœœ˜Jšœœœ œ:˜Yšœœœ˜-Jšœ˜Jšœ ˜ Jšœ ˜ —šž œ˜$Jšœ œ œ˜%Jšœœœ ˜&Jšœœ˜)—šž œ˜"Jšœœœ˜&Jšœœ˜Jšœ œ ˜Jšœœ œœ˜<—J˜šœ œœ˜2šœA˜AJšœœ3˜R—Jšœ ˜ Jšœ ˜ —šœ œœ˜2šœB˜BJšœœ2˜Q—Jšœ ˜ Jšœ ˜ —šž œ˜!Jšœœœ$˜8—Jšžœœœ ˜Ršž œ ˜+Jšœœœœ˜C—šž œ ˜,Jšœœœ œ˜D—J˜Jšžœœœ˜J˜Jšœ˜—…—ς