File: MakePLA.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 31, 1984 0:18:42 am PDT
DIRECTORY
Parquet USING [Context, Module],
BoolOps USING [TruthTable],
Rope USING [ROPE];
MakePLA:
CEDAR
DEFINITIONS =
BEGIN
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
};
-- create a PLA from a description
Create: PROC [context: Parquet.Context] RETURNS [Parquet.Module];
-- get the truth table from a description
FetchTT:
PROC [context: Parquet.Context]
RETURNS [inputNames, outputNames:
LIST
OF Rope.
ROPE, truthTable: BoolOps.TruthTable];
-- always provides the right number of input and output names
END.