<> <> <> <> <<>> DIRECTORY Atom, PropertyLists, Rope, Graphs0, Graphs0Path, TerminalIO; Graphs0Test: CEDAR PROGRAM IMPORTS Atom, Graphs0, Graphs0Path, TerminalIO = BEGIN <<>> Graph: TYPE = Graphs0.Graph; Node: TYPE = Graphs0.Node; NodeList: TYPE = Graphs0.NodeList; NodeSetList: TYPE = Graphs0Path.NodeSetList; Arc: TYPE = Graphs0.Arc; ArcList: TYPE = Graphs0.ArcList; EnumArcProc: TYPE = Graphs0.EnumArcProc; g: Graph; Create: PROC [] = { g _ Graphs0.Create[$foo]; }; Weight: Graphs0Path.ArcCostProc = { cost _ 1 }; ArcName: PROC [arc: Arc] RETURNS [Rope.ROPE] = { WITH arc.arcInfo SELECT FROM r: Rope.ROPE => RETURN [r]; a: ATOM => RETURN [Atom.GetPName[a]]; ENDCASE => RETURN ["no name"]; }; DeliverArc: Graphs0.EnumArcProc = { TerminalIO.WriteRopes["arc ", ArcName[arc], "\n"]; }; nodes: NodeList _ NIL; nodeSetList: NodeSetList _ NIL; effort: NAT _ 1; random: BOOL _ FALSE; TestPath: PROC [] = { TerminalIO.WriteRope["TestPath\n"]; [] _ Graphs0Path.FindPath[graph: g, nodeSets: nodeSetList, arcCostProc: Weight, arcDeliverProc: DeliverArc, effort: effort, random: random]; TerminalIO.WriteRope["--\n"]; }; END.