<> <> <> <> <<>> <<-- Make a PLA module.>> 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.