-- Compiler RelationDefs -- Tiberi November 13, 1979 11:39 AM -- Ordered pairs; building and searching -- Last Edited by: Stone, September 19, 1985 1:30:51 pm PDT 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.