-- 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.