Frama-C API - Observe
type 'a visitor = {neutral : 'a;combine : 'a -> 'a -> 'a;exp : Eva__.Eva_ast_types.exp_node Eva__.Eva_ast_types.tag -> 'a;lval : (Eva__.Eva_ast_types.lhost * Eva__.Eva_ast_types.offset) Eva__.Eva_ast_types.tag -> 'a;varinfo : Frama_c_kernel.Cil_types.varinfo -> 'a;offset : Eva__.Eva_ast_types.offset -> 'a;
}type 'a observer = {observe_exp : visitor:'a visitor -> Eva__.Eva_ast_types.exp_node Eva__.Eva_ast_types.tag -> 'a;observe_lval : visitor:'a visitor -> (Eva__.Eva_ast_types.lhost * Eva__.Eva_ast_types.offset) Eva__.Eva_ast_types.tag -> 'a;observe_varinfo : visitor:'a visitor -> Frama_c_kernel.Cil_types.varinfo -> 'a;observe_offset : visitor:'a visitor -> Eva__.Eva_ast_types.offset -> 'a;
}val visit_exp : neutral:'a -> combine:('a -> 'a -> 'a) -> 'a observer -> Eva__.Eva_ast_types.exp_node Eva__.Eva_ast_types.tag -> 'aval 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