<> <> DIRECTORY Rope, StructuralComparisonDataStructure; StructuralComparisonDataStructureImpl: CEDAR PROGRAM IMPORTS StructuralComparisonDataStructure EXPORTS StructuralComparisonDataStructure = BEGIN OPEN StructuralComparisonDataStructure; graphIDToRope: PUBLIC ARRAY GraphID OF ROPE _ [A: "A", B: "B", Unspecified: "Unspecified"]; endOfQ: PUBLIC Vertex _ NEW [VertexRep]; initialNetColor: Color _ 1; mirrorColor: Color _ 2; InitialColor: PUBLIC PROC [v: Vertex] RETURNS [initialColor: Color] = { SELECT v.class FROM net => initialColor _ initialNetColor; cell => initialColor _ IF IsMirror[v] THEN mirrorColor ELSE v.type.color; ENDCASE => ERROR; initialColor _ FilterColor[initialColor]; }; END.