DIRECTORY Commander USING [CommandProc, Register], Rope USING [ROPE], FS USING [StreamOpen], IO USING [card, Close, GetTokenRope, int, PutF, RIS, rope, STREAM]; Conn106: CEDAR PROGRAM IMPORTS IO, Commander, FS = BEGIN ROPE: TYPE = Rope.ROPE; Conn106Proc: Commander.CommandProc = BEGIN i: CARD; x, y: INT; stream: IO.STREAM _ IO.RIS[cmd.commandLine]; outputName: ROPE _ IO.GetTokenRope[stream].token; out: IO.STREAM _ FS.StreamOpen[outputName,$create]; IO.PutF[out, "4096 2048 -300 -375 200 5775 -100 -400 CON106 PARC-CON106 J\n"]; FOR i IN [1..53] DO x_ (i-1)*25; y _ -(((i-1) MOD 2)* 225); IO.PutF[out, "%g %g P%g 255 0 %g 0 22\n", IO.int[x], IO.int[y], IO.card[i], IO.card[i]]; ENDLOOP; FOR i IN [1..53] DO x_ (i-1)*25; y _ -(((i-1) MOD 2)* 225); IO.PutF[out, "%g %g P%g 255 0 %g 0 23\n", IO.int[x], IO.int[y], IO.card[i+53], IO.card[i+53]]; ENDLOOP; IO.Close[out]; IO.PutF[cmd.out, "File %g Written\n", IO.rope[outputName]]; END; Commander.Register[ key: "Conn106", proc: Conn106Proc, doc: "Generates a Conn106.part file\n"]; END. ΆFile: Conn106.mesa Christophe Cuenod March 20, 1987 1:33:56 pm PST IO.PutF[out, "-100 -275 HOLE120 255 120 166 0 76\n"]; IO.PutF[out, "-100 5675 HOLE120 255 120 167 0 76\n"]; Κƒ–i(firstHeadersAfterPage) {1} .cvx .def (firstPageNumber) {1} .cvx .def (oneSidedFormat) {.false} .cvx .def– "Cedar" style˜– "Cedar" stylešΟnœ™Icodešœ/™/—unitšΟk ˜ Kšœ žœ˜(Kšœžœžœ˜Kšžœžœ˜Kšžœžœ(ž œžœ˜C—šœžœž˜Kšžœžœ žœ˜—Lšž˜Lšžœžœžœ˜š œž˜*Jšœžœ˜Iprogramšœžœ˜ Mš œžœžœžœžœ˜,Mšœ žœžœ˜1Kšœžœžœžœ ˜3JšžœL˜Nšžœžœ žœ˜J˜ Jšœ žœ ˜Jš žœ(žœ žœ žœ žœ ˜XJšžœ˜—šžœžœ žœ˜J˜ Jšœ žœ ˜Jš žœ(žœ žœ žœ žœ ˜^Jšžœ˜—Jšœ˜Jšžœ3™5Jšžœ3™5J˜Jšžœ ˜Jšžœ=˜?Jšžœ˜—šœ˜JšœK˜K—Iprocšžœ˜—…—O