DIRECTORY Core, CoreOps, CoreProperties, CoreTransistor, RoseBind, RoseRecognizeTransistors; RoseRecognizeTransistorsImpl: CEDAR PROGRAM IMPORTS CoreOps, CoreProperties, CoreTransistor, RoseBind EXPORTS RoseRecognizeTransistors = BEGIN transistorBC: RoseBind.BehaviorClass; Recognize: PUBLIC PROC [ct: Core.CellType] RETURNS [bc: RoseBind.BehaviorClass] = { bc _ NIL; IF ct.class = CoreTransistor.transistorCellClass THEN { bc _ transistorBC; IF CoreProperties.GetProp[ct.properties, RoseBind.argsKey] = NIL THEN ct.properties _ CoreProperties.PutProp[ct.properties, RoseBind.argsKey, ct.data]; }; }; Start: PROC = { pw: Core.Wire = CoreOps.CreateRecordWire[ "TransistorPublic", LIST[ CoreOps.CreateAtomWire["gate"], CoreOps.CreateAtomWire["ch1"], CoreOps.CreateAtomWire["ch2"], CoreOps.CreateAtomWire["back"] ] ]; pw.properties _ CoreProperties.PutProp[pw.properties, RoseBind.switchWire, $T]; transistorBC _ RoseBind.EnsureBehaviorClass["Transistor", pw]; }; Start[]; END. ΈRoseRecognizeTransistorsImpl.mesa Copyright c 1985 by Xerox Corporation. All rights reversed. Barth, September 5, 1985 6:40:39 pm PDT Spreitzer, October 1, 1985 1:51:09 pm PDT Κk– "cedar" style˜code– "Cedar" stylešœ!™!Kšœ Οmœ1™˜>K˜—K˜K˜K˜Kšžœ˜—…—Ψϋ