DIRECTORY CD, CDDirectory, CDRects, CDSatellites, CDCells, Core, CoreClasses, CoreOps, IO, PW, Rope, Sinix, Sisyph, TerminalIO; TestSisyph: CEDAR PROGRAM IMPORTS CDDirectory, CoreClasses, CoreOps, PW, Sinix, Sisyph, TerminalIO = BEGIN CellType: TYPE = Core.CellType; Wire: TYPE = Core.Wire; Object: TYPE = CD.Object; ROPE: TYPE = Core.ROPE; Context: TYPE = Sisyph.Context; StructWire: PROC [name: ROPE, n: INT] RETURNS [Wire] = { subWires: LIST OF Wire _ NIL; WHILE n > 0 DO subWires _ CONS[CoreOps.CreateWire[], subWires]; n _ n-1; ENDLOOP; RETURN [CoreOps.CreateWire[elements: subWires, name: name]] }; TreeCellCode: PROC [] RETURNS [CellType] = { wire: Wire _ StructWire["father", 3]; RETURN [CoreClasses.CreateRecordCell[CoreOps.CreateWire[elements: LIST[wire]], CoreOps.CreateWire[elements: LIST[wire]], NIL]]; }; TestWireIcon: PROC [] RETURNS [wire: Wire] = { wire _ CoreOps.CreateWires[size: 3, name: "BigStruct"]; wire[0] _ CoreOps.CreateWire[name: "Zero"]; wire[1] _ CoreOps.CreateWire[name: "One"]; wire[2] _ CoreOps.CreateWires[size: 2, name: "SmallStruct"]; wire[2][0] _ CoreOps.CreateWire[name: "Zero"]; wire[2][1] _ CoreOps.CreateWire[name: "TwoOne"]; }; TestCx: PROC [] = BEGIN design: CD.Design _ PW.OpenDesign["ExtractExample"]; targetObj: CD.Object _ CDDirectory.Fetch[design, "nD"].object; cx: Context _ Sisyph.Create[design]; result: REF _ Sinix.Extract[obj: targetObj, mode: Sisyph.mode, userData: cx].result; CoreOps.Print[result, TerminalIO.TOS[]]; ERROR; END; Test: PROC [] = BEGIN design: CD.Design _ PW.OpenDesign["TestSisyph"]; targetObj: CD.Object _ CDDirectory.Fetch[design, "TestCell"].object; cx: Context _ Sisyph.Create[design]; result: REF _ Sinix.Extract[obj: targetObj, mode: Sisyph.mode, userData: cx].result; CoreOps.Print[result, TerminalIO.TOS[]]; END; END.  TestSisyph.mesa Copyright c 1985, 1986 by Xerox Corporation. All rights reserved. Created by Pradeep Sindhu, November 26, 1985 3:06:31 pm PST Pradeep Sindhu February 19, 1986 1:11:20 am PST Bertrand Serlet September 5, 1986 10:10:01 pm PDT Barth, January 13, 1986 3:30:54 pm PST Κc˜™Jšœ Οmœ7™BIcode™;K™/K™1K™&J™—šΟk ˜ Kšžœ/˜1Kšœ˜Kšžœ˜Kšžœ˜K˜K˜K˜K˜ —J™šΠbl œžœž˜Kšžœ$žœž˜PK˜Jšœ žœ˜Jšœžœ ˜Jšœžœžœ˜Jšžœžœžœ˜Jšœ žœ˜K˜š Οn œžœžœžœžœ ˜8Jšœ žœžœžœ˜Jšžœžœ žœ+žœ˜QJšžœ5˜;Jšœ˜J˜—š  œžœžœ˜,J˜%Jšžœ<žœ&žœ žœ˜Jšœ˜K˜—š  œžœžœ˜.J˜7Jšœ+˜+Jšœ*˜*Jšœ<˜Kšœ$˜$KšœžœI˜TKšœ!žœ˜(Kšžœ˜Kšžœ˜K˜—š œžœž˜Kšœžœ žœ˜0Kšœ žœ7˜DKšœ$˜$KšœžœI˜TKšœ!žœ˜(Kšžœ˜K˜—Kšžœ˜——…— •