File: MakeCP.mesa
Copyright © 1984 by Xerox Corporation. All rights reserved.
Created by: Mayo, July 16, 1984 3:34:59 pm PDT
Last Edited by: Mayo, August 30, 1984 11:37:40 pm PDT
-- Make a CP (Control Path) module.
DIRECTORY
Parquet USING [Context, Module],
BoolOps USING [TruthTable],
Rope USING [ROPE];
MakeCP: CEDAR DEFINITIONS = BEGIN
Error: ERROR[ec: ErrorCode, msg: Rope.ROPE];
ErrorCode: TYPE = {Null,   -- never raised
ParameterErrors,     -- errors found in table passed to ReadParameters
TileSet,      -- something was wrong with the tile set
BadPLA      -- could not create a base PLA
};
-- create a CP from a table of parameters
Create: PROC [context: Parquet.Context] RETURNS [Parquet.Module];
-- Converts a truth table with N outputs to N truth tables with 1 output each. Each truth table uses all of the inputs in the original order. The list of truth tables has the leftmost output (in the table sense) at the head, and the rightmost at the tail.
TTConvert: PROC [tt: BoolOps.TruthTable] RETURNS [LIST OF BoolOps.TruthTable];
END.