Frama-C:
Plug-ins:
Libraries:

Frama-C API - Observe

type 'a visitor = {
  1. neutral : 'a;
  2. combine : 'a -> 'a -> 'a;
  3. exp : Eva__.Eva_ast_types.exp_node Eva__.Eva_ast_types.tag -> 'a;
  4. lval : (Eva__.Eva_ast_types.lhost * Eva__.Eva_ast_types.offset) Eva__.Eva_ast_types.tag -> 'a;
  5. varinfo : Frama_c_kernel.Cil_types.varinfo -> 'a;
  6. offset : Eva__.Eva_ast_types.offset -> 'a;
}
type 'a observer = {
  1. observe_exp : visitor:'a visitor -> Eva__.Eva_ast_types.exp_node Eva__.Eva_ast_types.tag -> 'a;
  2. observe_lval : visitor:'a visitor -> (Eva__.Eva_ast_types.lhost * Eva__.Eva_ast_types.offset) Eva__.Eva_ast_types.tag -> 'a;
  3. observe_varinfo : visitor:'a visitor -> Frama_c_kernel.Cil_types.varinfo -> 'a;
  4. observe_offset : visitor:'a visitor -> Eva__.Eva_ast_types.offset -> 'a;
}
val default : 'a observer
val visit_exp : neutral:'a -> combine:('a -> 'a -> 'a) -> 'a observer -> Eva__.Eva_ast_types.exp_node Eva__.Eva_ast_types.tag -> 'a
val visit_lval : neutral:'a -> combine:('a -> 'a -> 'a) -> 'a observer -> (Eva__.Eva_ast_types.lhost * Eva__.Eva_ast_types.offset) Eva__.Eva_ast_types.tag -> 'a