IFUPLAPassImpl.mesa
Copyright c 1986 by Xerox Corporation. All rights reserved.
McCreight, May 20, 1986 6:40:51 pm PDT
Curry, June 2, 1986 11:25:31 am PDT
DIRECTORY
Commander,
Dragon,
IFUPLAPass,
IO,
PLAOps,
REFBit;
IFUPLAPassImpl: CEDAR PROGRAM
IMPORTS Commander, IO, PLAOps, REFBit =
BEGIN OPEN IFUPLAPass, PLAOps;
GenPasses: Commander.CommandProc = {
GenPass: PROC [fileName, ioTypeName: IO.ROPE] = {
pla: PLAOps.PLA ← PLAOps.NewPLA[ioTypeName, ioTypeName];
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[fileName, cmd.out, pla];
};
GenPass["IFUPLARtDrFromPads.ttt", "IFUPLAPass.RtDrFromPads"];
GenPass["IFUPLARtDrToPads.ttt",  "IFUPLAPass.RtDrToPads"];
GenPass["IFUPLALtDrFromPads.ttt", "IFUPLAPass.LtDrFromPads"];
GenPass["IFUPLALtDrToPads.ttt",  "IFUPLAPass.LtDrToPads"];
GenPass["IFUPLALtDrDebug.ttt",  "IFUPLAPass.LtDrDebug"];
};
Commander.Register[key:"GenPasses", proc: GenPasses];
END.