/usr/lib/ocaml/galax/nfa.mli is in libgalax-ocaml-dev 1.1-12.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | (***********************************************************************)
(* *)
(* GALAX *)
(* XQuery Engine *)
(* *)
(* Copyright 2001-2007. *)
(* Distributed only by permission. *)
(* *)
(***********************************************************************)
(* $Id: nfa.mli,v 1.3 2007/02/01 22:08:46 simeon Exp $ *)
(* Module Nfa
Description:
This module implements Non-deterministic finite States
Automatas. NFA is a functor parameterized by an letter and a
state types.
*)
open Printf
open Error
module type NFA =
sig
type state
type letter
module StateSet : Set.S
module Alphabet : Set.S
module StateToTransitionMap : Map.S
module TransitionMap : Map.S
type nfa = {
mutable nfa_states : StateSet.t;
mutable nfa_alphabet : Alphabet.t;
mutable nfa_start_state : StateSet.elt option;
mutable nfa_final_states : StateSet.t;
mutable nfa_transitions :
StateSet.t TransitionMap.t StateToTransitionMap.t;
}
val nfa_empty : nfa
val fresh_nfa_empty : unit -> nfa
val get_nfa_alphabet : nfa -> Alphabet.t
val add_letter : nfa -> Alphabet.elt -> unit
val add_all_letters : nfa -> Alphabet.t -> unit
val get_nfa_states : nfa -> StateSet.t
val get_nfa_start_state : nfa -> StateSet.elt option
val get_nfa_final_states : nfa -> StateSet.t
val add_state : nfa -> StateSet.elt -> unit
val set_start_state : nfa -> StateSet.elt -> unit
val set_final_states : nfa -> StateSet.t -> unit
val add_final_state : nfa -> StateSet.elt -> unit
val get_nfa_transitions :
nfa -> StateSet.t TransitionMap.t StateToTransitionMap.t
val get_TransitionMap :
nfa -> StateToTransitionMap.key -> StateSet.t TransitionMap.t
val get_destStateSet : 'a TransitionMap.t -> TransitionMap.key -> 'a
val get_destStateSet_s :
nfa -> StateToTransitionMap.key -> TransitionMap.key -> StateSet.t
val add_transitions_aux :
nfa ->
StateToTransitionMap.key -> Alphabet.elt * StateSet.elt -> unit
val add_transitions :
nfa -> StateSet.elt -> (Alphabet.elt * StateSet.elt) list -> unit
val print_automata :
nfa -> (Alphabet.elt -> unit) -> (StateSet.elt -> unit) -> unit
val empty : nfa -> bool
end
module MakeNFA (State : Set.OrderedType) (Letter : Set.OrderedType) :
NFA with
type state = State.t
and type letter = Letter.t
and type StateSet.elt = State.t
and type Alphabet.elt = Letter.t
and type StateToTransitionMap.key = State.t
and type TransitionMap.key = Letter.t
|