sail

Sail is a language for describing the instruction semantics of processors
IN THIS PACKAGE
Module Graph . Make

Parameters

module Ord : OrderedType

Signature

type node = Ord.t
type node_set = Set.Make(Ord).t
val leaves : graph -> node_set
val empty : graph
val add_edge : node -> node -> graph -> graph
val add_edges : node -> node list -> graph -> graph
val children : graph -> node -> node list
val reachable : node_set -> node_set -> graph -> node_set
val prune : node_set -> node_set -> graph -> graph
val remove_self_loops : graph -> graph
val reverse : graph -> graph
exception Not_a_DAG of node * graph
val topsort : graph -> node list
val scc : ?original_order:node list -> graph -> node list list
val make_dot : ( node -> string ) -> ( node -> node -> string ) -> ( node -> string ) -> out_channel -> graph -> unit