DIRECTORY IO, StructuralComparisonDataStructure, SymTab; StructuralComparisonOps: CEDAR DEFINITIONS = BEGIN OPEN StructuralComparisonDataStructure; Log: PROC [format: ROPE, v1, v2, v3, v4, v5: IO.Value _ [null[]]]; FlushLog: PROC; WriteColorTable: PROC [colorTable: ColorTable, descriptions: RealGraphDescriptions]; WriteAll: PROC [when: ROPE, descriptions: RealGraphDescriptions, a, b: CellType, oldColorData, curColorData: ColorTable]; VerboseVName: PROC [Vertex] RETURNS [ROPE]; DeleteVertex: PROC [parent: CellType, v: Vertex]; MergeVertices: PROC [parent: CellType, v1, v2: Vertex] RETURNS [merged, doomed: Vertex]; RemoveEdge: PROC [e: Edge]; CompareGraphs: PROC [ descriptions: RealGraphDescriptions, a, b: CellType, trace: SymTab.Ref _ NIL, GenerateHints: PROC [Consume: PROC [vA, vB: Vertex]], pick, mirrors, mayQuitEarly: BOOL, abort: REF BOOL] RETURNS [equiv, didQuitEarly: BOOL, partition: ColorTable]; DisplayStats: PROC; END. 4StructuralComparisonOps.Mesa Bertrand Serlet June 4, 1986 4:15:42 pm PDT Last tweaked by Mike Spreitzer on February 16, 1988 3:00:09 pm PST If they're cells, the caller asserts that they are connected identically  i.e., nothing needs to be done but delete the doomed vertex and the edges touching it. Κ„– "cedar" style˜code™K™+K™B—K˜KšΟk œœ,˜8K˜šΠbxœœ œ˜,K˜Kšœœ#˜-K˜KšΟnœœ œœ˜BKšŸœœ˜KšŸœœ?˜TKšŸœœœ_˜yKšŸ œœ œœ˜+K˜KšŸ œœ˜1šŸ œœ$œ˜XK™‘—KšŸ œœ ˜K˜šŸ œ˜šœ˜Kšœ$˜$Kšœ˜Kšœœ˜KšŸ œœŸœœ˜5Kšœœ˜"Kšœœœ˜—Kšœœ˜;—K˜KšŸ œœ˜K˜Kšœ˜——…—Άn