-- Compiler RelationDefs -- Tiberi November 13, 1979 11:39 AM -- Ordered pairs; building and searching RelationDefs: DEFINITIONS = BEGIN RelationHead: TYPE = RECORD[first, last: POINTER TO Pair]; Relation: TYPE = POINTER TO RelationHead; Pair: TYPE = RECORD[link: POINTER TO Pair, left, right: UNSPECIFIED]; notFound: INTEGER = -77777B; CreateRelation: PROCEDURE RETURNS [Relation]; AddPair: PROCEDURE [relation: Relation, left, right: UNSPECIFIED]; Left: PROCEDURE[relation: Relation, right: UNSPECIFIED] RETURNS [UNSPECIFIED]; Right: PROCEDURE[relation: Relation, left: UNSPECIFIED] RETURNS [UNSPECIFIED]; ForAllPairs: PROCEDURE[relation: Relation, do: PROCEDURE[leftPart, rightPart: UNSPECIFIED]]; DestroyRelation: PROCEDURE[relation: Relation]; END.