<> <> <> <<>> <<-- 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: BOOL _ TRUE]; 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.