PWPLABasics.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Last Edited by: Monier, March 8, 1985 5:56:35 pm PST
-- Low level stuff for PLA and CP generation.
DIRECTORY
BoolOps,
CD,
Rope USING [ROPE],
PW,
PWLow,
SymTab;
PWPLABasics: CEDAR DEFINITIONS = BEGIN
ROPE: TYPE = Rope.ROPE;
Error: ERROR[ec: ErrorCode, msg: Rope.ROPE];
ErrorCode: TYPE = {Null,   -- never raised
NoDescription,     -- you must have one
NoTruthTable,     -- you must have one
MissingTile,      -- a required tile was missing from the tile set
ParameterErrors,     -- errors found in table passed to ReadParameters
TileSet,      -- something was wrong with the tile set
NoDump      -- could not dump truth table to file
};
AllPresent: PROC [list: LIST OF PW.ObjName] RETURNS [b: BOOLTRUE];
RequiredTile: PROC[from, to: CD.Design, tilesPrefix: ROPE, tilesFetched: REF LIST OF ROPE, name1, name2, name3: PW.ObjName ← NIL] RETURNS [PW.ObjName];
OptionalTile: PROC[from, to: CD.Design, tilesPrefix: ROPE, tilesFetched: REF LIST OF ROPE, name1, name2, name3: PW.ObjName ← NIL] RETURNS [PW.ObjName];
ListRefAnyToListRope: PROC [list: LIST OF REF] RETURNS [LIST OF ROPE];
ListRefAnyToListOfListRope: PROC [list: LIST OF REF] RETURNS [llr: LIST OF LIST OF ROPE];
ReverseList: PROC [list: LIST OF PW.ObjName] RETURNS [newList: LIST OF PW.ObjName];
Length: PROC [list: LIST OF ROPE] RETURNS [length: INT ← 0];
LengthListOfList: PROC [list: LIST OF LIST OF ROPE] RETURNS [length: INT ← 0];
EnsureSize: PROC [list: LIST OF ROPE, quantity: INT];
GetEQN: PROC[par: SymTab.Ref, inNames, outNames: LIST OF ROPE] RETURNS[BoolOps.TruthTable];
FetchTT: PROC [par: SymTab.Ref] RETURNS [truthTable: BoolOps.TruthTable];
DumpTruthTable: PROC [tt: BoolOps.TruthTable, ttFile: ROPE];
END.