(** Bombs-Must-Detonate: FSM Syntax Extension Signature @author Brian Go*) (** 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). *) val compile_fsm : Ast.src_program -> Ast.src_program (** A node in the state graph used for connectivity checking *) type state_node = int * int list * bool ref (** id, target id list, visited flag *) exception Fsm_error of string