-- Compiler RelationDefs -- Tiberi November 13, 1979 11:39 AM -- Ordered pairs; building and searching -- Last Edited by: Stone, January 28, 1983 12:03 am RelationDefs: DEFINITIONS = BEGIN RelationHead: TYPE = RECORD[first, last: LONG POINTER TO Pair]; Relation: TYPE = LONG POINTER TO RelationHead; Pair: TYPE = RECORD[link: LONG POINTER TO Pair, left, right: CARDINAL]; notFound: CARDINAL = 177777B; CreateRelation: PROCEDURE RETURNS [Relation]; AddPair: PROCEDURE [relation: Relation, left, right: CARDINAL]; Left: PROCEDURE[relation: Relation, right: CARDINAL] RETURNS [CARDINAL]; Right: PROCEDURE[relation: Relation, left: CARDINAL] RETURNS [CARDINAL]; ForAllPairs: PROCEDURE[relation: Relation, do: PROCEDURE[leftPart, rightPart: CARDINAL]]; DestroyRelation: PROCEDURE[relation: Relation]; END.