+++ /dev/null
-(* $Id$
- * ----------------------------------------------------------------------
- *
- *)
-
-module Graph : sig
- type graph
- type vertex
-
- (* A directed graph whose edges are marked with strings (= element types)
- * and with the constraint that for a given vertex and a given element
- * type the edge must be unique.
- *)
-
- exception Edge_not_unique
-
- val create : unit -> graph
- (* Creates an empty graph *)
-
- val new_vertex : graph -> vertex
- (* Adds a new vertex to the graph, and returns the vertex *)
-
- val new_edge : vertex -> string -> vertex -> unit
- (* new_edge v_from etype v_to:
- * Adds a new edge from vertex v_from to vertex v_to, marked with
- * etype.
- * Raises Edge_not_unique if there is already an edge etype starting
- * at v_from to a different vertex than v_to.
- *)
-
- val graph_of_vertex : vertex -> graph
- (* Returns the graph the passed vertex is contained in. *)
-
- val union : graph -> graph -> unit
- (* union g1 g2:
- * Moves the vertexes and edged found in g2 to g1.
- * After that, g2 is empty again.
- *)
-
- val outgoing_edges : vertex -> (string * vertex) list
- (* Returns the list of outgoing edges starting in the passed vertex *)
-
- val follow_edge : vertex -> string -> vertex
- (* Follows the edge starting in the passed vertex which is marked
- * with the passed element type.
- * Raises Not_found if there is no such edge.
- *)
-
- val ingoing_edges : vertex -> (vertex * string) list
- (* Returns the list of ingoing edges ending in the passed vertex *)
-end
-
-module VertexSet : Set.S with type elt = Graph.vertex
-
-
-type dfa_definition =
- { dfa_graph : Graph.graph;
- dfa_start : Graph.vertex; (* Where the automaton starts *)
- dfa_stops : VertexSet.t; (* Where the automaton may stop *)
- dfa_null : bool; (* Whether dfa_start member of dfa_stops *)
- }
-
-val dfa_of_regexp_content_model : Pxp_types.regexp_spec -> dfa_definition
- (* Computes the DFA or raises Not_found if it does not exist *)
-
-(* ======================================================================
- * History:
- *
- * $Log$
- * Revision 1.1 2000/11/17 09:57:29 lpadovan
- * Initial revision
- *
- * Revision 1.1 2000/07/23 02:16:08 gerd
- * Initial revision.
- *
- *
- *)