with graph;--allows me access to the spec and body of graph procedure Graph_Driver0 is Max_Cities : constant := 20; -- since cities are my vertices, this refers to the -- maximum number of vertices I can have in my graph type City is (atlanta, boston, cleveland, dallas, great_falls, houston, ithaca, jacksonville, kansas_city, lexington, minneapolis, new_york, oswego, princeton, quogue, talahassee, utica, venice, washington, yonkers); -- enumerated type declaration subtype Distance is natural; function cityName(location : in city) return City is begin return location; end cityName; package Routes is new graph( vertex_type => city, key_type => city, weight_type => distance, key_of => cityName, "=" => "="); myGraph : Routes.Graph_Type(Max_Cities); leg : Routes.Edge_Type; begin Routes.Clear(Graph => myGraph); -- initialize graph to have no nodes and no edges in it Routes.Add_Vertex (Graph => myGraph, Vertex => new_york); Routes.Add_Vertex (Graph => myGraph, Vertex => boston); --leg.from := new_york; --leg.to := boston; leg := (from => new_york, to => boston); Routes.Add_Edge (Graph => myGraph, Edge => leg, weight => 188); end Graph_Driver0;