package frenetic

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Intermediate representation of global compiler: NetKAT Automata

type t = private {
  1. states : (int64, FDD.t * FDD.t) Core.Hashtbl.t;
  2. has_state : (FDD.t * FDD.t, int64) Core.Hashtbl.t;
  3. mutable source : int64;
  4. mutable nextState : int64;
}
val add_to_t : t -> (FDD.t * FDD.t) -> int64
val fold_reachable : ?order:[< `Post | `Pre Pre ] -> t -> init:'a -> f:('a -> int64 -> (FDD.t * FDD.t) -> 'a) -> 'a
val of_policy : ?dedup:bool -> ?ing:Frenetic_netkat.Syntax.pred -> ?cheap_minimize:bool -> Frenetic_netkat.Syntax.policy -> t
val to_local : pc:Frenetic_netkat.Fdd.Field.t -> t -> FDD.t
val to_dot : t -> string
val render : ?format:string -> ?title:string -> t -> unit

Compiles the provided automaton `t` using `graphviz`, and opens the resulting file.

val skip_topo_states : t -> (int64, int64 * int64) Core.Hashtbl.t * (int64 * int64, Core.Int64.Set.t) Core.Hashtbl.t