liquid-fixpoint-0.1.0.0: external/ocamlgraph/src/gml.mli
(**************************************************************************)
(* *)
(* Ocamlgraph: a generic graph library for OCaml *)
(* Copyright (C) 2004-2007 *)
(* Sylvain Conchon, Jean-Christophe Filliatre and Julien Signoles *)
(* *)
(* This software is free software; you can redistribute it and/or *)
(* modify it under the terms of the GNU Library General Public *)
(* License version 2, with the special exception on linking *)
(* described in file LICENSE. *)
(* *)
(* This software is distributed in the hope that it will be useful, *)
(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)
(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *)
(* *)
(**************************************************************************)
(* $Id: gml.mli,v 1.3 2005-07-06 13:20:31 conchon Exp $ *)
(** Parser for GML file format *)
type value =
| Int of int
| Float of float
| String of string
| List of value_list
and value_list = (string * value) list
module Parse
(B : Builder.S)
(L : sig
val node : value_list -> B.G.V.label
(** how to build the node label out of the set of GML attributes;
for example {v node [ id 12 label "foo" ] v}
will call this function with [["id", Int 12; "label", String "foo"]] *)
val edge : value_list -> B.G.E.label
(** how to build the edge label out of the set of GML attributes *)
end) :
sig
val parse : string -> B.G.t
end
module Print
(G : sig
module V : sig
type t
val hash : t -> int
val equal : t -> t -> bool
type label
val label : t -> label
end
module E : sig
type t
type label
val src : t -> V.t
val dst : t -> V.t
val label : t -> label
end
type t
val iter_vertex : (V.t -> unit) -> t -> unit
val iter_edges_e : (E.t -> unit) -> t -> unit
end)
(L : sig
val node : G.V.label -> value_list
val edge : G.E.label -> value_list
end) :
sig
val print : Format.formatter -> G.t -> unit
end