module Bmdfsmc:Bombs-Must-Detonate: FSM Syntax Extension Compilersig..end
Bombs-Must-Detonate: FSM Syntax Extension Signature
Author(s): Brian Go, Brian Go
exception Fsm_error of string
val raise_fsm_error : string list -> 'aval concat : string list -> stringtypestate_node =int * int list * bool Pervasives.ref
id, target id list, visited flag
A node in the state graph used for connectivity checking
id, target id list, visited flag
val node_list : (int * int list * bool Pervasives.ref) list Pervasives.refval state_env : (int * string) list Pervasives.refval get_state_name : int -> stringval reverse_assoc : ('a * 'b) list -> ('b * 'a) listval get_state_helper : (int * 'a * 'b) list -> int -> int * 'a * 'bval get_state : int -> int * int list * bool Pervasives.refval visit_graph : (int * int list * bool Pervasives.ref) list -> unitval check_connected : (int * int list * bool Pervasives.ref) list ->
(int * 'a * bool Pervasives.ref) list -> unitval cur_id : int Pervasives.refval make_id : unit -> intval get_first : ('a * 'b) list -> 'a listval get_state_names : ('a * 'b * 'c) list -> 'a listval append_string : string -> string -> stringval get_id : 'a -> ('a * int) list -> int * ('a * int) listval varify : string -> Ast.value_producerval compile_callbacks : Ast.fsm_callback list -> string -> Ast.expression listval compile_transition_target : 'a * float ->
string -> ('a * int) list -> Ast.expression list * ('a * int) list * intval compile_transition_targets : ('a * float) list ->
string -> ('a * int) list -> Ast.expression list * ('a * int) list * int listval compile_transition : string list * ('a * float) list ->
string -> ('a * int) list -> Ast.expression list * ('a * int) list * int listval compile_transitions : (string list * ('a * float) list) list ->
string -> ('a * int) list -> Ast.expression list * ('a * int) list * int listval compile_states_helper : (string * Ast.fsm_callback list * (string list * (string * float) list) list)
list -> (string * int) list -> Ast.expression listval compile_set_statelist : string list -> 'a -> Ast.expression listval compile_states : (string * Ast.fsm_callback list * (string list * (string * float) list) list)
list -> 'a -> Ast.expression listval compile_fsm : Ast.global_expression list -> Ast.global_expression list
Performs source-to-source compilation on the finite state machine code.
The result of any state machine declaration is a function which returns
the described state machine as a finiteStateMachine (see lib_fsm.bmd).