DIRECTORY Commander, IFUPLAPass, IO, PLAOps, REFBit; IFUPLAPassImpl: CEDAR PROGRAM IMPORTS Commander, IO, PLAOps, REFBit = BEGIN OPEN IFUPLAPass, PLAOps; GenPasses: Commander.CommandProc = { GenPass: PROC [name, ioTypeName: IO.ROPE] = { pla: PLAOps.PLA _ PLAOps.NewPLA[ioTypeName, ioTypeName, name]; desc: REFBit.REFBitDesc = REFBit.Desc[pla.out]; FOR bitIndex: INT IN [0..desc.bitForm.size) DO REFBit.Set[pla.mask, bitIndex, TRUE]; REFBit.Set[pla.data, bitIndex, TRUE]; REFBit.Set[pla.out, bitIndex, TRUE]; PLAOps.SetOutForBE[pla, PLAOps.GetBEForDataMask[pla]]; REFBit.Set[pla.mask, bitIndex, FALSE]; REFBit.Set[pla.data, bitIndex, FALSE]; REFBit.Set[pla.out, bitIndex, FALSE]; ENDLOOP; [ ] _ PLAOps.ConvertTermListToCompleteSum[pla.termList, FALSE, FALSE, cmd.out]; [ ] _ PLAOps.FindAMinimalCover[pla.termList, 120, cmd.out]; PLAOps.WritePLAFile[pla, name, cmd.out]}; GenPass["IFUPLAPassLtDrPadIO", "IFUPLAPass.LtDrPadIO"]; GenPass["IFUPLAPassRtDrPadIO", "IFUPLAPass.RtDrPadIO"]}; Commander.Register[key:"GenPasses", proc: GenPasses]; END. ®IFUPLAPassImpl.mesa Copyright c 1986 by Xerox Corporation. All rights reserved. McCreight, May 20, 1986 6:40:51 pm PDT Don Curry January 28, 1987 11:33:32 am PST Êz˜šœ™Jšœ<™Jšœ/˜/šœ œœ˜.Jšœœ˜%Jšœ œ˜&Jšœœ˜%Jšœ6˜6Jšœœ˜&Jšœ œ˜'Jšœœ˜&Jšœ˜—Jšœ8œœ ˜OJšœ;˜;Jšœ)˜)—Jšœ7˜7Jšœ8˜8—J˜šœ5˜5J˜—Jšœ˜J™˜™J™——J˜—…—F