Module Aorai_visitors


module Aorai_visitors: sig .. end
This visitor does not modify the AST. It just generates a first abstract specification for each function. This specification is stored into Data_for_aorai and can be accessed by using get_func_pre or get_func_post.

class visit_computing_abstract_pre_post_from_buch : Promelaast.typed_automaton -> string -> bool -> object .. end
This visitor does not modify the AST.
val get_call_name : Cil_types.exp -> string

type func_auto_mode =
| Not_auto_func
| Pre_func of Cil_types.kernel_function
| Post_func of Cil_types.kernel_function
val func_orig_table : func_auto_mode Cil_datatype.Varinfo.Hashtbl.t
val kind_of_func : Cil_datatype.Varinfo.Hashtbl.key -> func_auto_mode
class visit_adding_code_for_synchronisation : Promelaast.typed_automaton -> object .. end
This visitor adds an auxiliary function for each C function which takes care of setting the automaton in a correct state before calling the original one, and replaces each occurrence of the original function by the auxiliary one.
class change_formals : Kernel_function.t -> Kernel_function.t -> object .. end
class change_result : Kernel_function.t -> object .. end
val post_treatment_loops : (Cil_datatype.Stmt.t Pervasives.ref, Cil_types.stmt Pervasives.ref) Hashtbl.t
val get_action_invariant : Cil_types.kernel_function ->
Cil_types.kinstr ->
bool array array * 'a -> Cil_types.predicate Cil_types.named list
val get_action_post_cond : ?pre_states:Data_for_aorai.Aorai_state.t list ->
post_states:Promelaast.state list ->
Kernel_function.t ->
(Cil_types.termination_kind * Cil_types.identified_predicate) list
class visit_adding_pre_post_from_buch : 'a -> bool -> object .. end
This visitor add a specification to each fonction and to each loop, according to specifications stored into Data_for_aorai.
class visit_computing_ignored_functions : unit -> object .. end
This visitor computes the list of ignored functions.
val compute_abstract : Cil_types.file -> string -> bool -> unit
val add_pre_post_from_buch : Cil_types.file -> bool -> unit
val add_sync_with_buch : Cil_types.file -> unit
val compute_ignored_functions : Cil_types.file -> unit